際際滷

際際滷Share a Scribd company logo
Alexandru Dinu
Data Mining per il supporto alle
decisioni aziendali
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)
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
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
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
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
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
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
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
Overfitting
(scikit-learn.org)
10
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
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)
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.
Metodo supervisionato
(hubspot.net)
13
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
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.
Metodo non supervisionato
(hubspot.net)
15
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
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.
Esempio albero di decisione (semplice)
(Lanz, 2015)
17
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
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.
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.
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
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
In R si presenta la schermata illustrata qui sotto:
22
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
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
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
25
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
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
In R si presenta la schermata illustrata qui sotto:
27
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
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
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
30
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018

More Related Content

Data Mining per il supporto alle decisioni aziendali (Presentazione Tesi di Laurea)

  • 1. Alexandru Dinu Data Mining per il supporto alle decisioni aziendali
  • 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
  • 10. Overfitting (scikit-learn.org) 10 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.
  • 13. Metodo supervisionato (hubspot.net) 13 Data Mining per il supporto alle decisioni aziendali Alexandru Dinu Aprile 2018
  • 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.
  • 15. Metodo non supervisionato (hubspot.net) 15 Data Mining per il supporto alle decisioni aziendali Alexandru Dinu Aprile 2018
  • 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