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.
L’obiettivo 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)
2. Introduzione al Data Mining
Definizione di Machine Learning e Data Mining (1/2)
“Si dice che un programma apprende dall’esperienza 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 l’esperienza E”.
(Tom Mitchell)
2
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
“Il Data Mining è l’esplorazione e l’analisi, 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 dall’esperienza e c’è apprendimento quando le prestazioni del
programma migliorano dopo lo svolgimentodi un compito o il completamentodi un’azione.
3
Data Mining per il supporto alle decisioni aziendali
Alexandru Dinu
Aprile 2018
L’applicazione di uno o più metodi che consentono di “esplorare” grosse quantità di dati, con
l’obiettivo di individuare le informazioni più significative (pattern ) e di renderle disponibili e
direttamenteutilizzabili nell’ambito 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 dall’utente
stabilirne l’importanza”.
(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
l’obiettivo da prevedere)”.
(Berry e Linoff)
12. Metodi del Data Mining
Il Data Mining supervisionato
Nell’apprendimento 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 un’offerta), da cui si costruisce un modello per
l’obiettivo 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
L’obiettivo 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 l’induzione 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 dell’effetto 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 dall’altro 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, l’algoritmo C5.0 e l’entropia
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
L’algoritmo C5.0 è uno dei più implementati per la realizzazione degli alberi decisionali. È
statosviluppato da J. Ross Quinlan, ed è incorporato nel programmaR.
L’entropiaè una misura di purità (purity) utilizzataper identificare la miglior variabile da
suddividere (split). Viene qui proposta come “il disordine che prevale sull’ordine come stato
naturale delle cose”. Allora, l’obiettivo degli alberi decisionali costruiti mediante questo
metodo è quello di «splittare» i dati in modo tale da ridurre l’entropia (il disordine),
ottenendo così un incremento dell’omogeneità all’interno dei gruppi.
20. La formula matematica dell’entropia 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 l’entropia come segue:
Allora, sia «x» la proporzione in una classe e «1 – x» nell’altra, possiamo calcolare l’entropia
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 l’albero 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 l’albero 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