Oggigiorno siamo circondati da dati, tanto da essere considerati un nuovo fattore produttivo. Infatti, vengono sempre pi湛 implementati in ogni ambito, aziendale ed extra-aziendale.
Lobiettivo di questa tesi 竪 quello di presentare in modo chiaro e semplice i fondamenti del Data Mining e alcune sue applicazioni. Inoltre, con lo stesso approccio vengono affrontati anche i concetti pi湛 tecnici e i casi di studio.
(Nota: per l'approfondimento della presentazione si rimanda al file Tesi)
1 of 30
Downloaded 11 times
More Related Content
Data Mining per il supporto alle decisioni aziendali (Presentazione Tesi di Laurea)
2. Introduzione al Data Mining
Definizione di Machine Learning e Data Mining (1/2)
Si dice che un programma apprende dallesperienza E con riferimento ad alcune classi di
compiti T e con misurazione della performance P, se le sue performance nel compito T, come
misurato da P, migliorano con lesperienza E.
(Tom Mitchell)
2
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
Il Data Mining 竪 lesplorazione e lanalisi, attraverso mezzi automatici e semiautomatici, di
grosse quantit di dati allo scopo di scoprire modelli e regole significative.
(Berry e Linoff)
3. Introduzione al Data Mining
Definizione di Machine Learning e Data Mining (2/2)
I computer imparano dallesperienza e c竪 apprendimento quando le prestazioni del
programma migliorano dopo lo svolgimentodi un compito o il completamentodi unazione.
3
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
Lapplicazione di uno o pi湛 metodi che consentono di esplorare grosse quantit di dati, con
lobiettivo di individuare le informazioni pi湛 significative (pattern ) e di renderle disponibili e
direttamenteutilizzabili nellambito dei processi decisionali.
4. 4
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
Data Mining Machine Learning
Focus su estrazione di pattern Focus su estrazione di previsioni
Scopre propriet sconosciute Basato su propriet conosciute
Esempio:
Rilevare frodi
Prodotti comprati insieme
Esempio:
Riconoscere le e-mail spam
Consigli su cosa acquistare
5. Introduzione al Data Mining
Definizione di KDD (Knowledge Discovery in Database)
Il processo non banale di identificazione di pattern validi, originali, potenzialmente utili e in
definitiva comprensibili dai dati.
(Fayyad, Piatesky-Shapiro, Smyth)
5
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
6. Le cinque fasi fasi del processo di KDD
(Fayyad, Piatesky-Shapiro, Smith, 1996)
6
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
7. Introduzione al Data Mining
Il processo di Knowledge Discovery in Database (KDD)
Selezione
Preelaborazione
Trasformazione
Data Mining
Interpretazioni e Valutazioni
7
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
8. Introduzione al Data Mining
Applicazioni
Market basket analysis
CRM (Customer Relationship Management)
Rilevazione di frodi
Database marketing
Merito creditizio
Produzione industriale
Text mining
8
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
9. Introduzione al Data Mining
Difficolt e problemi
Archivi 束big損
Sper-adattamento (overfitting)
Dati mancanti o errati (missing data)
Dati che cambiano nel tempo
Integrazione
Dati non standard
9
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
11. Metodi del Data Mining
I due stili di Data Mining
Il Data Mining non supervisionato, 竪 un approccio bottom up, vale a dire in cui si lascia che i
dati stessi indichino un risultato: una volta individuati i modelli, dipende dallutente
stabilirne limportanza.
(Berry e Linoff)
11
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
Il Data Mining supervisionato 竪 un approccio top down, applicabile quando sappiamo che
cosa stiamo cercando, e assume spesso la forma di modelli previsionali (in cui 竪 chiaro
lobiettivo da prevedere).
(Berry e Linoff)
12. Metodi del Data Mining
Il Data Mining supervisionato
Nellapprendimento supervisionato, lo scopo 竪 trovare un modello che possa prevedere in
modo pi湛 preciso possibile il risultato desiderato.
12
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
Di norma, vengono utilizzati dati gi disponibili (potenziali clienti che hanno risposto
positivamente o negativamente dopo unofferta), da cui si costruisce un modello per
lobiettivo prefissato (potenziali clienti futuri che non sono stati ancora contattati). Per
preparare il modello previsionale, 竪 necessario avere a disposizione una sufficiente quantit
di dati e il risultato gi noto.
14. Metodi del Data Mining
Il Data Mining non supervisionato
Lobiettivo del Data Mining non supervisionato 竪 la scoperta di pattern ignoti, che possono
rivelarsi utili ai fini decisionali e/o dare una panoramica diversa del fenomeno sotto esame.
Ci riferiamo a questa approccio come a una scatola semitrasparente, perch辿 rispetto al
metodo supervisionato, siamo interessati anche ai meccanismi di funzionamento e al modo
nel quale viene generata una risposta.
14
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
Dunque, si utilizza questo approccio senza un obiettivo ben preciso e senza dei valori
predefiniti o collegati da una qualche relazione apparente. Un algoritmo di apprendimento
non supervisionato analizza un insieme di dati, successivamente raggruppa tali dati in base
alle somiglianze percepite e trae conclusioni su tali somiglianze.
16. Alberi decisionali
(Approccio supervisionato)
Questo metodo usa una struttura ad albero per modellare le relazioni fra le variabili
predittive di un certo target allo scopo di ripartire le unit in modo da avere gruppi
omogenei al loro interno, oppure che soddisfano prestabiliti criteri di stop (stopping rules).
16
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
L'albero si compone principalmente di tre elementi: il nodo radice (root node), i nodi di
decisione (decision node) e le foglie (leaf node o terminal nodes). Il primo componente
dell'albero (nodo radice) specifica una condizione che deve essere testata. Viene cos狸 diviso
l'albero in due rami, che rappresentano le possibili risposte. Ogni ramo porta ad un altro
nodo di decisione, fino ad arrivare a un nodo foglia.
17. Esempio albero di decisione (semplice)
(Lanz, 2015)
17
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
18. La costruzione degli alberi richiedono pochi passaggi sui dati e non si incontrano difficolt
neanche con molte variabili indipendenti. Vengono utilizzati dei programmi informatici che
eseguono linduzione automatica degli alberi decisionali.
18
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
La critica che comunemente viene fatta 竪 che nel decidere la variabile sulla quale basare
ciascuna divisione non si tiene conto delleffetto nelle future divisioni. Inoltre, gli algoritmi
usati considerano una sola variabile indipendente per volta, che porta da un lato il vantaggio
in termini di rapidit di costruzione del modello, ma dallaltro lo svantaggio di non poter
scoprire relazioni tra variabili.
Si pu嘆 controllare la dimensione dell'albero tramite le regole d'arresto (stopping rules) o la
potatura (pruning).
Uno dei metodi pi湛 usati, in quanto 竪 facilmente comprensibile e si presta bene a molti
problemi. Pu嘆 inoltre gestire dati numerici, nominali o mancanti e risulta pi湛 efficiente di
altri metodi pi湛 sofisticati.
19. Caso di studio in R
Il software R, lalgoritmo C5.0 e lentropia
R 竪 un linguaggio di programmazione open-source distribuito liberamente e scaricabile da
chiunque sul sito web ufficiale (www.r-project.org).
19
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
Lalgoritmo C5.0 竪 uno dei pi湛 implementati per la realizzazione degli alberi decisionali.
statosviluppato da J. Ross Quinlan, ed 竪 incorporato nel programmaR.
Lentropia竪 una misura di purit (purity) utilizzataper identificare la miglior variabile da
suddividere (split). Viene qui proposta come il disordine che prevale sullordine come stato
naturale delle cose. Allora, lobiettivo degli alberi decisionali costruiti mediante questo
metodo 竪 quello di 束splittare損 i dati in modo tale da ridurre lentropia (il disordine),
ottenendo cos狸 un incremento dellomogeneit allinterno dei gruppi.
20. La formula matematica dellentropia viene ripresa qui sotto da Lantz, 2015 :
In questa formula, 束(S)損 si riferisce a una classificazione di dati con 束c損 classi e 束p損
proporzione delle unit nella classe 束i損 (i=1,...,c). Per esempio, con due classi (c=2): nero (70
percento) e bianco (30 percento). Calcoliamo lentropia come segue:
Allora, sia 束x損 la proporzione in una classe e 束1 x損 nellaltra, possiamo calcolare lentropia
per tutti i possibili valori di 束x損, graficamente:
20
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
21. Il caso 束Iris損
Il data set 束iris損 竪 composto dalle misure in centimetri delle variabili qui sotto elencate
relative a 50 fiori per ognuna delle 3 specie di iris:
lunghezzae larghezza del sepalo (sepal lenght and width)
lunghezzae larghezza del petalo (petal lenght and width)
Il data frame 束iris損, contiene dunque 150 casi (righe) e 5 variabili (colonne).
21
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
22. In R si presenta la schermata illustrata qui sotto:
22
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
23. I comandi usati per ottenere lalbero mediante training sample e test sample sono:
23
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
> library(C50)
> set.seed(150)
> aa = runif(nrow(iris))
> irisrandom = iris[order(aa),]
> model1 = C5.0(irisrandom[1:100, -5], irisrandom[1:100,5])
> plot(model1)
> test1 = predict(model1, irisrandom[101:150,])
> table(irisrandom[101:150,5], Predicted = test1)
24. 24
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
25. 25
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
26. Il caso 束Credit approval損
Il data set 束credit_data損 竪 composto da 690 osservazioni relative a 8 variabili raccolte dalla
banca per la concessione del credito:
Sesso (Sex);
Proprietario di macchina (Car propriety);
Lavoratore straniero (Foreign worker);
Proprietario di casa (House propriety);
Storia creditizia (Credit history);
Sposato (Married);
Lavoro (Job);
Esito del prestito (Default).
26
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
27. In R si presenta la schermata illustrata qui sotto:
27
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
28. I comandi usati per ottenere lalbero mediante training sample e test sample sono:
28
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
> library(C50)
> credit_data = read.csv(file.choose(), header=TRUE, sep=,)
> set.seed(444)
> ad = runif(nrow(credit_data))
> credit_random = credit_data[order(ad),]
> model1 = C5.0(credit_random[1:490, -8], credit_random[1:490,8])
> plot(model1)
> test1 = predict(model1, credit_random[491:690,])
> table(credit_random[491:690,8], Predicted = test1)
29. 29
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
30. 30
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018