Questo modulo esamina i seguenti argomenti:
- Interpretazione delle foreste casuali
- foreste casuali di addestramento
- pro e contro delle foreste casuali
Interpretazione delle foreste casuali
Le foreste casuali sono più complesse da interpretare rispetto agli alberi decisionali. Le foreste casuali contengono alberi decisionali addestrati con rumore casuale. Pertanto, è più difficile esprimere giudizi sulla struttura dell'albero decisionale. Tuttavia, possiamo interpretare i modelli di foresta random in due modi.
Un approccio per interpretare una foresta casuale è semplicemente addestrare e interpretare un albero decisionale con l'algoritmo CART. Poiché sia la foresta casuale che l'albero CART vengono addestrati con lo stesso algoritmo di base, "condividono la stessa visualizzazione globale" del set di dati. Questa opzione è ideale per set di dati semplici e per comprendere l'interpretazione complessiva del modello.
Le Importanze delle variabili sono un altro buon approccio all'interpretabilità. Ad esempio, la tabella seguente assegna un ranking all'importanza variabile di diverse funzionalità per un modello di foresta casuale addestrato sul set di dati del censimento (noto anche come Adult).
Tabella 8. Importanza variabile di 14 diverse funzionalità.
Funzionalità | Somma punteggi | Diminuzione media della precisione | Riduzione media dell'AUC | Profondità minima media | Num nodes | Riduzione media dell'AUC ponderata per la qualità | Num come utente root |
---|---|---|---|---|---|---|---|
relazione | 4203592,6 |
0,0045 |
0,0172 |
4,970 |
57040 |
0,0093 |
1095 |
capital_gain | 3363045.1 |
0,0199 |
0,0194 |
2,852 |
56468 |
0,0655 |
457 |
marital_status | 3128996,3 |
0,0018 |
0,0230 |
6,633 |
52391 |
0,0107 |
750 |
età | 2520658,8 |
0,0065 |
0,0074 |
4,969 |
356784 |
0,0033 |
200 |
istruzione | 2015905,4 |
0,0018 |
-0,0080 |
5,266 |
115751 |
-0,0129 |
205 |
professione | 1939409,3 |
0,0063 |
-0,0040 |
5,017 |
221935 |
-0,0060 |
62 |
education_num | 1673648,4 |
0,0023 |
-0,0066 |
6,009 |
58303 |
-0,0080 |
197 |
fnlwgt | 1564189.0 |
-0,0002 |
-0,0038 |
9,969 |
431987 |
-0,0049 |
0 |
hours_per_week | 1333976,3 |
0,0030 |
0,0007 |
6,393 |
206526 |
-0,0031 |
20 |
capital_loss | 866863,8 |
0,0060 |
0,0020 |
8.076 |
58531 |
0,0118 |
1 |
workclass | 644208,4 |
0,0025 |
-0,0019 |
9,898 |
132196 |
-0,0023 |
0 |
native_country | 538841,2 |
0,0001 |
-0,0016 |
9.434 |
67211 |
-0,0058 |
0 |
genere | 226049,3 |
0,0002 |
0,0002 |
10,911 |
37754 |
-0,0011 |
13 |
razza | 168180,9 |
-0,0006 |
-0,0004 |
11,571 |
42262 |
-0,0031 |
0 |
Come puoi vedere, definizioni diverse dell'importanza delle variabili hanno scale diverse e possono portare a differenze nel ranking delle funzionalità.
Le importanza delle variabili che provengono dalla struttura del modello (ad es. somma del punteggio, profondità minima media, numero di nodi e numero come radice nella tabella sopra) vengono calcolate in modo simile per gli alberi decisionali (vedi sezione "Raccogli | Importanza delle variabili") e le foreste casuali.
L'importanza delle variabili di permutazione (ad es. la diminuzione media in {accuracy, auc, pr-auc} nella tabella sopra) sono misure indipendenti dal modello che possono essere calcolate su qualsiasi modello di machine learning con un set di dati di convalida. Con la foresta random, tuttavia, anziché utilizzare un set di dati di convalida, puoi calcolare l'importanza delle variabili di permutazione con la valutazione out-of-bag.
SHAP (SHapley Additive exPlanations) è un metodo indipendente dal modello per spiegare le singole previsioni o l'interpretazione in base al modello. Consulta Interpretable Machine Learning di Molnar per un'introduzione all'interpretazione indipendente dal modello. SHAP è solitamente costoso da calcolare, ma può essere notevolmente accelerato per le foreste di alberi decisionali, quindi è un buon modo per interpretarle.
Esempio di utilizzo
Nella lezione precedente abbiamo addestrato un albero decisionale CART su un piccolo set di dati chiamando tfdf.keras.CartModel
. Per addestrare un modello di foresta casuale,
basta sostituire tfdf.keras.CartModel
con tfdf.keras.RandomForestModel
:
model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)
Pro e contro
Questa sezione contiene un breve riepilogo dei pro e dei contro delle foreste casuali.
Vantaggi:
- Come le reti decisionali, le foreste casuali supportano in modo nativo le caratteristiche numeriche e categoriche e spesso non richiedono la preelaborazione delle caratteristiche.
- Poiché gli alberi decisionali sono indipendenti, le foreste casuali possono essere addestrate in parallelo. Di conseguenza, puoi addestrare rapidamente le foreste casuali.
- Le foreste casuali hanno parametri predefiniti che spesso danno ottimi risultati. La regolazione di questi parametri spesso ha scarso effetto sul modello.
Svantaggi:
- Poiché gli alberi decisionali non vengono potati, possono essere di grandi dimensioni. I modelli con più di 1 milione di nodi sono comuni. Le dimensioni (e quindi la velocità di inferenza) della foresta aleatoria possono a volte rappresentare un problema.
- Le foreste casuali non possono apprendere e riutilizzare le rappresentazioni interne. Ogni albero decisionale (e ogni ramo di ogni albero decisionale) deve riaprendere il pattern del set di dati. In alcuni set di dati, in particolare non tabulari (ad es. immagini, text), questo porta le foreste casuali a risultati peggiori rispetto ad altri metodi.