Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Appice
Alberi di Decisione
Data Mining
Aree di Applicazione
1. previsione
utilizzo di valori noti per la previsione di quantità non note (es. stima del
fatturato di un punto vendita sulla base delle sue caratteristiche)
2. classificazione
individuazione delle caratteristiche che indicano a quale gruppo un certo caso
appartiene (es. discriminazione tra comportamenti ordinari e fraudolenti)
3. segmentazione
individuazione di gruppi con elementi omogenei all’interno del gruppo e diversi
da gruppo a gruppo (es. individuazione di gruppi di consumatori con
comportamenti simili)
4. associazione
individuazione di elementi che compaiono spesso assieme in un determinato
evento (es. prodotti che frequentemente entrano nello stesso carrello della
spesa)
5. sequenze
individuazione di una cronologia di associazioni (es. percorsi di visita di un sito
web)
…
Dr. A. Appice
Classificazione
Considerando dati storici relativi a passati clienti e
pagamenti, predire (decidere) se il richiedente un
prestito sarà o meno un buon pagatore
Metodi di classificazione
Apprendimento induttivo da esempi per imparare
la definizione di una funzione di
classificazione
Gli esempi usati per l’apprendimento sono
descritti come vettori di coppie attributo-valore
per i quali è nota la classe
Dr. A. Appice
Metodi di classificazione
Alberi di decisione
Le funzioni di classificazione sono apprese in forma di albero dove:
• ogni nodo interno rappresenta una variabile,
• un arco verso un nodo figlio rappresenta un possibile valore per
quella proprietà, e
• una foglia il valore predetto per la classe a partire dai valori delle
altre proprietà, che nell'albero è rappresentato del cammino (path)
dalla nodo radice (root) al nodo foglia.
No Yes No Yes
Dr. A. Appice
Decision Trees
C4.5: Output
Outlook
No Yes No Yes
Dr. A. Appice
Alberi di Decisione
Congiunzione di condizioni
Outlook
Wind No No
Strong Weak
Alberi di Decisione
Disgiunzione di congiunzioni
Outlook
(Outlook=Sunny Humidity=Normal)
(Outlook=Overcast)
(Outlook=Rain Wind=Weak)
Dr. A. Appice
Alberi di Decisione
Regole
Outlook
Alberi di Decisione
Tipo di test
Ciascun nodo interno è associato ad un test che coinvolge
un attributo Ai.
Se Ai è discreto:
• un test con z alternative, una per ciascun valore
assunto da Ai
Outlook
Sunny Overcast Rain
Dr. A. Appice
Alberi di Decisione
Tipo di test
Ciascun nodo interno è associato ad un test che coinvolge
un attributo Ai.
Se Ai è continuo:
• un test con 2 alternative sulla base di una soglia :
Ai vs. Ai >.
Tenure
Tenure<=2.5 Tenure>2.
Stay Services
Services<=3 Services>3
Leave Stay
Dr. A. Appice
Alberi di decisione
Selezionare i test
Domanda: Come determinare quale attributo
classifica meglio dati?
Risposta: Entropia!!!
Sia:
– S la porzione di esempi di training correntemente analizzati.
– Cj una classe in C1, C2, …, Ck.
– RF(Ci,S), i=1,..k sono le frequenze relative delle etichette Ci
in S (numero di casi di S che appartengono alla classe Ci.
L’entropia di E in S è calcolata come:
E(S) RF(Ci , S) log 2 (RF(Ci , S))
i 1..k
Dr. A. Appice
Alberi di decisione
Selezionare i test
E(S) è una misura dell’incertezza contenuta in S.
– Assume valore massimo se gli eventi sono
equiprobabili
RF(C1,S)=…= RF(Ck,S)=1/k.
Alberi di decisione
Selezionare i test
Alberi di decisione
Selezionare i test
• Lo Information Gain G(S, t) rappresenta la riduzione
attesa di entropia conseguente al partizionamento
degli esempi di S in accordo al test t.
• Sia S1, …, St il partizionamento di S per il test t
sull’attributo Ai,:
| Si |
G( S , t ) E ( S ) E (Si )
i |S|
Alberi di decisione
Selezionare i test
Esempio
Day Outlook Temp. Humidity Wind Play Tennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Weak Yes
D8 Sunny Mild High Weak No
D9 Sunny Cold Normal Weak Yes
D10 Rain Mild Normal Strong Yes
D11 Sunny Mild Normal Strong Yes
D12 Overcast Mild High Strong Yes
D13 Overcast Hot Normal Weak Yes
D14 Rain Mild High Strong No
Dr. A. Appice
Alberi di decisione
Selezionare i test
14 esempi di apprendimento: 9 - Yes, 5 - No
E(S) = -9/14log2(9/14) - 5/14log2 (5/14) = .940
Alberi di decisione
Selezionare i test
[Yes, No]=[9,5]
E=0.940
Outlook
Alberi di decisione
Selezionare i test
E(sunny) = -2/5log2 (2/5)-3/5log2 (3/5)=.971
E(overcast) = 0
E(rain) = .971
L’entropia di Outlook è:
E(Outlook)=5/14 0.971+4/14 0+5/14
0.971=0.694
L’Information Gain di un test su Outlook è:
G(Outlook)=E(S)-E(Outlook)=0.940-0.694=0.246
Dr. A. Appice
Alberi di decisione
Selezionare i test
Similmente possiamo clacolare:
– G(Temperature)=0.029
– G(humidity)=0.151
– G(windy)=0.048
– G(Outlook)=0.246 MAX
Alberi di decisione
Definire le soglie per test continui
• Come identificare le possibili soglie per
l’attributo continuo A?
1. ordinare gli esempi sulla base dei valori
dell’attributo A (quicksort)
2. per ciascuna coppia (Xi, Xi+1) nella lista
ordinata, se le classi di Xi e Xi+1sono diverse
allora usare la media dei due valori come
soglia candidata.
Dr. A. Appice
Alberi di decisione
Definire le soglie per test continui
Esempio
A: 10 15 21 28 32 40 50
Class: No Yes Yes No Yes Yes No
Threshold: 12.5 24.5 30 45
Dr. A. Appice
Alberi di Decisione
Algoritmo
learnTree(Table S, int begin, int end){
if( isLeaf(S begin, end)
root=new LeafNode(S,begin,end);
else //split node
{
root=determineBestSplitNode(S, begin, end);
childTree=new DecisionTree[root.getNumberOfChildren()];
for(int i=0;i<root.getNumberOfChildren();i++){
childTree[i]=new DecisionTree();
childTree[i].learnTree(trainingSet,root.begin,root.end);
}
}
}
Dr. A. Appice
Alberi di Decisione
Esercizio
Spiegare come costruire un albero di decisione per Assicurazione
carta di credito sul seguente insieme di addestramento:
Attributi: Range Reddito, Promozione assicurazione vita,
Assicurazione carta di credito, Genere, Età
Dati: Range Promozione Assicurazione
Genere Età
Reddito assic. vita carta di cred.
40-50K No No Maschio 45
30-40K Si No Femmina 40
40-50K No No Maschio 42
30-40K Si Si Maschio 43
50-60K Si No Femmina 38
20-30K No No Femmina 55
30-40K Si Si Maschio 35
20-30K No No Maschio 27
30-40K No No Maschio 43
30-40K Si No Femmina 41
40-50K Si No Femmina 43
20-30K Si No Maschio 29
50-60K Si No Femmina 39
40-50K No No Maschio 55
20-30K Si Si Femmina 19
Dr. A. Appice
Alberi di Decisione
Ross Quinlan, author of C4.5
http://www.cse.unsw.edu.au/~quinlan/
Ross Quinlan’s personal website at the University of New South Wales. c4.5 is available to
download, as are several of Quinlan’s academic papers.
Dr. A. Appice
Caso di studio
Progettare e realizzare un sistema client-server
denomianto “Decision Tree Classifier”.
Il server include funzionalità di data mining per
l’apprendimento di alberi di decisione e uso degli
stessi come strumento di previsione.
Il client è un applet Java che consente di effettuare
previsioni usufruendo del servizio di predizione
remoto
Dr. A. Appice
Istruzioni
1. Il progetto dell'a.a. 2012/13 riguarda il “Decision Tree Classifier"
ed è valido solo per coloro che superano la prova scritta entro il
corrente a.a.
2. Ogni progetto può essere svolto da gruppi di al più TRE (3)
studenti.
3. Coloro i quali superano la prova scritta devono consegnare il
progetto ENTRO la data prevista per la corrispondente prova
orale.
4. La discussione del progetto avverrà alla sua consegna, ad
personam per ciascun componente del gruppo. Il voto massimo
della prova scritta è 33. Un voto superiore a 30 equivale a 30 e
lode.
5. Il voto finale sarà stabilito sulla base del voto attribuito allo
scritto e al progetto.
Dr. A. Appice
Istruzioni
Non si riterrà sufficiente un progetto non
sviluppato in tutte le su parti (client-server,
applet, accesso al db, serializzazione,…