alberi di decisione - dipartimento di informaticaappice/courses/1213/lab/alberi di decisione.pdf ·...
TRANSCRIPT
Dr. A. Appice
Data Mining
Lo scopo del data mining è l’estrazione (semi)
automatica di conoscenza nascosta in voluminose
basi di dati al fine di renderla disponibile e
direttamente utilizzabile
Dr. A. Appice
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
Nome
Età
Reddito
Professione
Indirizzo
Tipo cliente
Storico Clienti Classificatore Regole di decisione
reddito > 35.000
prof. = insegnante
Dati di un nuovo cliente: Paolo Rossi, 35,37.000,architetto,Bari, ?
Buono
?
Cattivo
pagatore
Dr. A. Appice
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.
Un albero di decisione viene costruito utilizzando tecniche di apprendimento a partire dall'insieme dei dati iniziali (training set) per i quali è nota la classe
http://it.wikipedia.org/wiki/Albero_di_decisione
Dr. A. Appice
Induzione di Alberi di decisione
Input
Input: una collezione di esempi di apprendimento (training set),
ciascun esempio è una tupla di valori per un prefissato insieme di
attributi (variabili indipendenti)
A = {A1, A2, …, Am}
e un attributo di classe (variabile dipendente). L’attributo Ai è
descritto come continuo o discreto a seconda che i sui valori siano
numerici o nominali.
L’attributo di classe C è discreto e ha valori C1, C2, …, Ck.
Dr. A. Appice
Induzione di Alberi di Decisione
Input
Day
Outlook
Temperature
Humidity
Wind
PlayTennis
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
Strong
Yes
D8
Sunny
Mild
High
Weak
No
D9
Sunny
Cool
Normal
Weak
Yes
D10
Rain
Mild
Normal
Weak
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
[See: Tom M. Mitchell, Machine Learning, McGraw-Hill, 1997]
Dr. A. Appice
Outlook
Sunny Overcast Rain
Humidity
High Normal
Wind
Strong Weak
No Yes
Yes
Yes No
Induzione di Alberi di Decisione
Output
Dr. A. Appice
Decision Trees
C4.5: Output
Outlook
Sunny Overcast Rain
Humidity
High Normal
No Yes
nodi interni sono associati a test su attributi
Ciascun ramo e associato a un valore del test
Ciascuna foglia è associata a un valore di classe
Dr. A. Appice
No
Alberi di decisione
Come usare l’albero per classificare?
Outlook
Sunny Overcast Rain
Humidity
High Normal
Wind
Strong Weak
No Yes
Yes
Yes No
Outlook Temperature Humidity Wind PlayTennis Sunny Hot High Weak ?
Dr. A. Appice
Alberi di Decisione
Congiunzione di condizioni
Outlook
Sunny Overcast Rain
Wind
Strong Weak
No Yes
No
Outlook=Sunny Wind=Weak
No
Dr. A. Appice
Alberi di Decisione
Disgiunzione di congiunzioni
Outlook
Sunny Overcast Rain
Humidity
High Normal
Wind
Strong Weak
No Yes
Yes
Yes No
(Outlook=Sunny Humidity=Normal) (Outlook=Overcast) (Outlook=Rain Wind=Weak)
Dr. A. Appice
Alberi di Decisione
Regole Outlook
Sunny Overcast Rain
Humidity
High Normal
Wind
Strong Weak
No Yes
Yes
Yes No
R1: If (Outlook=Sunny) (Humidity=High) Then PlayTennis=No R2: If (Outlook=Sunny) (Humidity=Normal) Then PlayTennis=Yes R3: If (Outlook=Overcast) Then PlayTennis=Yes R4: If (Outlook=Rain) (Wind=Strong) Then PlayTennis=No R5: If (Outlook=Rain) (Wind=Weak) Then PlayTennis=Yes
Dr. A. Appice
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
Services
Tenure<=2.5 Tenure>2.
Services<=3 Services>3
Leave Stay
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:
k..1i
i2i ))S,C(RF(log)S,C(RF)S(E
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.
– Assume valore minimo se solo uno degli eventi ha
probabilità diversa da zero.
RF(Ci,S)=1 RF(Cj,S)=0 ji
Dr. A. Appice
Alberi di decisione
Selezionare i test
In problemi di classificazione binaria (due classi C1=+, C2 = -) con:
– p il numero di esempi di S in classe + – n il numero di esempi di S in classe -
La entropia E(S) è calcolata come segue: E(S) = -plog2p - nlog2n
Dr. A. Appice
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,:
Il criterio basato sull’Information Gain sceglie il test t che massimizza G(S,t)
i
i
i SES
SSEtSG )(
||
||)(),(
Dr. A. Appice
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
Information Gain per Outlook
Outlook: sunny (5), overcast (4), rain (5)
Il test su Outlook partiziona S come segue:
outlook = sunny (5 esempi) RF(Yes)=2/5 RF(No)=3/5
outlook = overcast (4 esempi) RF(Yes)=4/4 RF(No)=0/4
outlook = rain (5 esempi) RF(Yes) = 3/5 RF(No) =2/5
Dr. A. Appice
Alberi di decisione
Selezionare i test
[Yes, No]=[9,5] E=0.940
Outlook
Sunny Overcast Rain
[Yes, No]=[2,3] E=0.971
[Yes, No]=[4,0] E=0
[Yes, No]=[3,2] E=0.971
Dr. A. Appice
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
Il test che massimizza lo Information Gain è il test eseguito su Outlook
Dr. A. Appice
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
12.5 24.5 30 45 Threshold:
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 Reddito
Promozione assic. vita
Assicurazione carta di cred.
Genere Età
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.