ALBERI DI CLASSIFICAZIONE A. Di Ciaccio Dip. di Statistica, Probabilità e Stat. Applicate Università di Roma “La Sapienza” Alberi di Classificazione 1 Obiettivo: Classificare un insieme di unità statistiche in un certo numero di classi note Esempio 1: Quando i pazienti con attacco di cuore sono ammessi in ospedale, vengono effettuate numerose prove per ottenere misure fisiologiche quali la frequenza cardiaca, la pressione sanguigna e così via. Un'ampia varietà di altre informazioni viene inoltre raccolta, quali l'età del paziente e l'anamnesi. I pazienti successivamente possono essere rintracciati per vedere se sopravvivono all'attacco di cuore, per esempio nell'arco di 30 giorni. Sarebbe utile per il trattamento dei pazienti, se tali misure prese al momento del ricovero ospedaliero potessero essere usate per identificare i pazienti ad alto rischio (coloro che non è probabile che sopravvivano a 30 giorni). Alberi di Classificazione 2 La classificazione è un processo composto da due passi fondamentali: 1) Si deve stimare un modello od individuare una regola che consenta di distinguere i soggetti tra le varie classi. Per fare ciò occorre avere osservato sia le variabili esplicative sia l'appartenenza alla classe. 2) Si utilizza il modello o le regole stimate al punto 1 per predire la classe di appartenenza su nuovi soggetti su cui sono state rilevate solo le variabili esplicative. Alberi di Classificazione 3 Albero di classificazione per l’esempio 1 Systolic blood pressure > 91 si no B Age > 62.5 si no B Sinus tachycardia si A no B Alberi di Classificazione 4 Alberi di Classificazione 5 Gli alberi partono da un “nodo radice”. I nodi generano “nodi figli” utilizzando i dati di training ed una regola di split. I nodi finali si chiamano nodi foglia. I dati di training sono costituiti da un insieme di osservazioni di variabili esplicative X1, X2, …. e di una variabile Y che determina la classe delle unità Una regola di split binario assume la forma: -- se X1 < 91 allora l’unità appartiene al ramo di sinistra -- altrimenti appartiene al ramo di destra Si possono considerare regole che generano più di due figli e che utilizzano più di una variabile Alberi di Classificazione 6 Per identificare il miglior split per ogni nodo occorre considerare una misura della purezza (omogeneità) del nodo. La massima purezza si ha quando nel nodo è presente solo una classe di Y a,a,a,a,b,b,b a,a,a,a b,b,b Misure di purezza più utilizzate: •Entropia •Indice di etereogeneità di Gini Alberi di Classificazione 7 La procedura di split continua finché: 1. La purezza dei dati nei nodi foglia ha raggiunto un certo livello 2. I nodi foglia contengono meno di un fissato numero minimo di unità Al termine della procedura ogni nodo foglia viene assegnato ad una classe, generalmente corrispondente alla moda (majority rule) a,a,a,a,a,b,b,b,b, b,c,c classe a classe b a,a,a,a,a,b,c Alberi di Classificazione b,b,b,b,c 8 Generalizzazione dell’analisi Per evitare risultati banali ed inutili è necessario introdurre delle procedure di validazione nel metodo che impediscano o riducano l’overfitting. Ciò può essere ottenuto attraverso una procedura di pruning o di ‘potatura’ dell’albero, dopo che questo è stato completamente sviluppato. Gli strumenti più utilizzati con il pruning sono: •Cross validation •Campioni di test indipendenti Alberi di Classificazione 9 Metodi recenti di potenziamento delle capacità previsive di un albero di classificazione Si può ottenere un notevole potenziamento degli alberi di classificazione considerando le seguenti procedure, sviluppate negli ultimi anni, che costruiscono in vario modo un insieme di alberi dallo stesso insieme di dati: •Bagging (Breiman 1996) •Boosting (Freund & Shapire 1996) •Foreste (Breiman 1999) Alberi di Classificazione 10 Riassumendo quindi i punti cruciali da considerare nella costruzione di un albero: 1. 2. 3. 4. 5. 6. Regole di split Misure di purezza Regole di stop Metodi di pruning Metodi di validazione Miglioramento della generalizzazione: bagging boosting, foreste 7. Valutazione dei risultati Alberi di Classificazione 11 Confronto tra Analisi Discriminante e Alberi di classificazione L’analisi discriminante lineare e gli alberi di classificazione hanno lo stesso obiettivo di analisi. Ad una analisi superficiale, l'analisi discriminante e gli alberi di classificazione potrebbero sembrare simili, perché entrambi coinvolgono dei coefficienti e delle regole di classificazione. Ma la differenza tra le regole simultanee dell'analisi discriminante le regole gerarchiche degli alberi di classificazione è rilevante ed ha numerose implicazioni. Alberi di Classificazione 12 Un' analisi discriminante lineare tradizionale dei dati di attacco di cuore produce un insieme di coefficienti che definiscono la singola combinazione lineare di pressione sanguigna, dell' età paziente e della tachicardia che meglio differenziano i pazienti a basso rischio dai pazienti ad elevato rischio. Viene quindi calcolato un punteggio per ogni paziente sulla funzione discriminante lineare a partire dalle misure di ogni paziente sulle tre variabili predittive, pesate dai rispettivi coefficienti discriminanti della funzione. La classificazione prevista di ogni paziente come basso rischio o alto rischio viene fatta quindi simultaneamente considerando le misure del paziente sulle tre variabili predittive. Alberi di Classificazione 13 Gli alberi di classificazione possono essere utilizzati anche in presenza di un insieme di variabili qualitative e quantitative. Viceversa l'analisi discriminante lineare richiede che le variabili predittive siano misurate almeno su scala di intervalli. Per gli alberi di classificazione basati sugli split univariati è interessante osservare che ogni trasformazione monotona delle variabili predittive ordinali produrrà gli stessi split e quindi la stessa classificazione (per split univariati). Quindi non è necessario preoccuparsi del livello di misura delle variabili o delle differenti unità di misura. Alberi di Classificazione 14 Nell'analisi discriminante lineare il numero di funzioni discriminanti lineari che possono essere estratte è uguale al minore tra il numero di variabili predittive e il numero di classi (corrispondenti alla variabile dipendente) meno uno. Il metodo ricorsivo che è utilizzato negli alberi di classificazione non ha questa limitazione. Per esempio, potrebbe essere utile calcolare molti split basati su combinazioni lineari quando vi sono molte variabili, nonostante vi siano solo due classi. E' evidente che l'unica combinazione lineare che verrebbe calcolata nell'analisi discriminante lineare trascurerebbe in questo caso una quantità notevole delle informazioni presenti nelle variabili predittive. Alberi di Classificazione 15 Analisi discriminante lin. Alberi di Classificazione Alberi di classificazione 16 Esempio: Iris Data 150 casi, 3 classi (con 50 casi ognuna), 4 variabili quantitative Alberi di Classificazione 17 Alberi di Classificazione 18 Alberi di Classificazione 19 Una trattazione più formale Sia dato un training sample costituito da N casi su cui abbiamo osservato i valori di K variabili x1, x2, … e la classe di appartenenza j{1,2,…J}: ossia (x1,j1), (x2,j2), …., (xN,jN) con xX Una regola di classificazione è una funzione d(x) definita su X in modo tale che per ogni x, d(x) è uguale ad uno dei numeri 1,2,….J. - equivalentemente: Una regola di classificazione è una partizione di X in J sottinsiemi disgiunti A1, A2,….AJ, tale che per ogni xAj la classe predetta è j. Alberi di Classificazione 20 Probabilità a priori delle classi: p(j) Ossia la probabilità che estraendo a caso un’unità questa appartenga alla classe j Costi di errata classificazione: C(i/j) poiché a volte è richiesta una classificazione più accurata per alcune classi Se la probabilità a priori p(j) è stimata attraverso pj la proporzione dei casi appartenenti alla classe j, e si assumono uguali costi di errata classificazione: In tal caso minimizzare i costi minimizzare il numero di casi malclassificati Alberi di Classificazione 21 Misura della “impurity” di un nodo Deve essere zero se le unità nel nodo sono tutte nella stessa classe Deve essere massima quando le unità sono egualmente divise tra tutte le classi L’indice di Gini soddisfa queste proprietà Alberi di Classificazione 22 Indice di eterogeneità di Gini Se le probabilità a priori delle classi sono stimate dalla ampiezza delle classi e i costi di errata classificazione sono costanti, tale indice è calcolato come: 1 - la somma dei quadrati delle frequenze relative di classe per le classi presenti nella foglia. L'espressione dell'indice per la singola foglia è: 1 j p 2j L'indice di Gini è la misura di impurità preferita dagli sviluppatori del CART (Breiman et. Al, 1984). Alberi di Classificazione 23 Indice di Entropia Se le probabilità a priori delle classi sono stimate dalla ampiezza delle classi e i costi di errata classificazione sono costanti, tale indice è calcolato come: j p j log 2 p j L’indice varia tra 0 e 1: -vale 0 se vi è una sola classe nel nodo -vale 1 se le classi hanno la stessa frequenza Alberi di Classificazione 24 Criteri di split basati su impurità Condiderando un generico nodo t possiamo indicare la misura di impurità calcolata sul nodo t come i(t). L’indice di impurità dell’intero albero sarà dato da: I (T ) i(t ) p(t ) t Dove p(t) è la probabilità che una generica unità appartenga al nodo t stimata come frazione dei casi nel nodo t Alberi di Classificazione 25 Guadagno dello split Per valutare la bontà dello split ad un certo nodo si può valutare il guadagno in termini di purezza. Consideriamo la scissione del nodo t in più nodi t1,t2,… allora definiamo guadagno i (t ) i (t ) pmi(tm ) m Dove pm è la probabilità che una unità del nodo t vada nel nodo tm Ad ogni passo il CART seleziona la variabile e lo split che forniscono il maggiore guadagno. Alberi di Classificazione 26 Gain ratio Nel caso si utilizzi l’indice di entropia viene spesso applicata una correzione al guadagno che si chiama gain ratio. Consiste nel normalizzare il guadagno, dividendolo per una quantità che penalizza le variabili con molte modalità, che altrimenti sarebbero favorite nella ricerca dello split ottimale. Alberi di Classificazione 27 i(t ) j p j log2 p j i(T ) i(t )p(t ) ESEMPIO t Alberi di Classificazione 28 Alberi di Classificazione 29 CART-style split Ricerca esaustiva di split univariati: tutti i possibili split, per tutte le possibili variabili, vengono valutati ad ogni nodo per ricercare il migliore split. Se il carattere è nominale con k modalità, si hanno 2(k 1) 1 possibili split binari. Se il carattere è ordinale o quantitativo con k diversi valori, si hanno k-1 possibili split. Alberi di Classificazione 30 Criterio del c2(CHAID) Vi sono anche dei criteri non basati su funzioni di impurità. Se dividiamo il nodo t in più nodi t1,t2,…, allora si può costruire la seguente tabella doppia di frequenze: classi … J N1 t1 n11 n12 ... n1J N2 t2 N21 n22 ... n2J …. ……. ……. …. ……. ……. NM tM nM1 nM2 ... nMJ N N(1) N(2) ... N(J) 1 nodi 2 n12 è la frequenza della classe 2 nel sotto-nodo t1 N2 è la numerosità del sotto-nodo 2 N(2) è la numerosità della classe 2 nel nodo t Alberi di Classificazione 31 L’indice del c2 può valutare la diversità delle classi nei diversi nodi generati. Si sceglie come misura il livello di significatività p di tale c2 Quanto più p è piccolo, tanto più vi è associazione tra classi e nodi. Lo split ottimale è quello che fornisce il valore più piccolo di p. Alberi di Classificazione 32 Valutazione Un albero può adattarsi perfettamente a molti training-set (se non si mettono regole di stop) Ossia in molti casi si può ottenere un albero con assenza di errori di classificazione Questa situazione si chiama overfitting In presenza di overfitting l’albero ha scarsa capacità previsiva Alberi di Classificazione 33 Non è corretto valutare un albero in base al costo di errata classificazione sul training set (Stima di risostituzione). Possibili soluzioni: Si può utilizzare un ulteriore data-set, non utilizzato nella stima, per valutare la generalizzabilità dell’albero Se non si ha un altro data-set ma il campione è grande, si può suddividere il campione in due parti, diciamo A e B, A per la stima e B per il test Se non si può suddividere il campione (troppo piccolo) si può utilizzare la V-fold cross validation Alberi di Classificazione 34 V-fold cross-validation E’ molto utilizzata quando non è possibile ottenere un test-sample. Si divide il training-sample in V sottocampioni uguali. Si calcola l’albero V volte, escludendo ogni volta un diverso sottocampione. Si usa il sottocampione escluso come test-sample La media dei V costi di errata classificazione dell’albero permette la valutazione finale Alberi di Classificazione 35 Pruning Si parte con la costruzione di un albero molto grande (sovradimensionato) Tmax, sulla base del training sample. A partire da Tmax si eliminano via via i suoi rami “meno importanti”, fino a ritornare all’albero minimo: Tmin={t1}, ottenendo la classe di alberi: Tmax=T1,T2,…,Tk,…,Tmin={t1} In questo processo di potatura sequenziale si vuole assicurare la gerarchicità della sequenza {tk} ossia la condizione T1>T2>…>Tk>…>Tmin Ove “>” indica la relazione di contenimento tra due alberi Alberi di Classificazione 36 Funzione obiettivo della potatura R (T) R(T) T min In cui =parametro di complessità è un coefficiente che “pesa” il numero di nodi terminali a fronte della misura di performance R(T). Introduce quindi una penalty all’aumentare del numero di nodi. Per =0 si ottiene T=0 = Tmax Al crescere di , diminuisce la dimensione di T Ripetendo l’operazione di minimizzazione per diversi valori di (crescente) si ottiene una sequenza gerarchica che consente di selezionare il taglio. Alberi di Classificazione 37 Impurità sul training-set Alberi di Classificazione Impurità sul test-set 38 A sample ROC curve. Alberi di Classificazione 39 ROC curves for two learning schemes. Alberi di Classificazione 40 Nuovi sviluppi Alberi di Classificazione 41 Bagging Alberi di Classificazione 42 Boosting Alberi di Classificazione 43 Bibliografia essenziale 1. Breiman,Friedman,Olshen,Stone: Classification and Decision Trees, Wadsworth, 1984 2. Quinlan: C4.5: Programs for Machine Learning, Morgan Kaufman: San Mateo, CA. 3. Hastie, Tibshirani, Friedman : The Elements of Statistical Learning - Data Mining, Inference, and Prediction, Springer Series in Statistics, 2001 Alberi di Classificazione 44