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 xX
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 xAj
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