In questa unità vengono trattati i seguenti argomenti:
- Interpretare le foreste casuali
- addestramento delle foreste casuali
- pro e contro delle foreste casuali
Interpretare le foreste casuali
Le foreste casuali sono più complesse da interpretare rispetto agli alberi decisionale. Le foreste casuali contengono alberi decisionali addestrati con rumore casuale. Pertanto, è più difficile giudicare la struttura dell'albero decisionale. Tuttavia, possiamo interpretare i modelli di foreste casuali in due modi.
Un approccio per interpretare una foresta casuale consiste semplicemente nell'addestrare e interpretare un albero decisionale con l'algoritmo CART. Poiché sia le foreste casuali che i CART sono addestrati con lo stesso algoritmo di base, "condividono la stessa visualizzazione globale" del set di dati. Questa opzione funziona bene per set di dati semplici e per comprendere l'interpretazione complessiva del modello.
Le importanti variabili sono un altro buon approccio di interpretazione. Ad esempio, la seguente tabella classifica l'importanza delle diverse caratteristiche per un modello di foresta casuale addestrato sul set di dati Censimento (noto anche come Adulti).
Tabella 8. Importanza variabile di 14 funzionalità diverse.
Funzionalità | Punteggio somma | Diminuzione media dell'accuratezza | Diminuzione media dell'AUC | Profondità minima media | Numero di nodi | Diminuzione media delle PR-AUC | Numero come radice |
---|---|---|---|---|---|---|---|
relazione | 420 3592,6 |
0,0045 |
0,0172 |
4,970 |
57040 |
0,0093 |
1095 |
guadagno_calcolo | 3363045.1 |
0,0199 |
0,0194 |
2,852 |
56468 |
0,0655 |
457 |
stato_coniugale | 312.899.3 |
0,0018 |
0,0230 |
6,633 |
52391 |
0,0107 |
750 |
età | 2520658,8 |
0,0065 |
0,0074 |
4,969 |
356784 |
0,0033 |
200 |
pedagogia | 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 |
numero_istruzione | 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 |
ore_alla_settimana | 1333976,3 |
0,0030 |
0,0007 |
6,393 |
206526 |
-0,0031 |
20 |
perdita_Capitale | 866863,8 |
0,0060 |
0,0020 |
8,076 |
58531 |
0,0118 |
1 |
classe lavorativa | 644208,4 |
0,0025 |
-0,0019 |
9,898 |
132196 |
-0,0023 |
0 |
nativo_paese | 538841,2 |
0,0001 |
-0,0016 |
9,434 |
67211 |
-0,0058 |
0 |
sesso | 226049,3 |
0,0002 |
0,0002 |
10,911 |
37754 |
-0,0011 |
13 |
gruppo etnico | 168.180,9 |
-0,0006 |
-0,0004 |
11,571 |
42262 |
-0,0031 |
0 |
Come vedi, le diverse definizioni di importanza delle variabili hanno scale diverse e possono portare a differenze di ranking delle funzionalità.
Le importanti variabili che derivano dalla struttura del modello (ad esempio somma, punteggio, profondità minima, num nodi e num come numero principale nella tabella sopra) vengono calcolate in modo simile per le strutture decisionale (vedi la sezione "Carrello | importanza variabile") e per le foreste casuali.
L'importanza delle variabili di permutazione (ad esempio, la diminuzione media di {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 casuale, tuttavia, anziché utilizzare un set di dati di convalida, puoi calcolare l'importanza delle variabili di permutazione con una valutazione immediata.
SHAP (SHapley Additive exPlanations) è un metodo indipendente dal modello per spiegare le singole previsioni o l'interpretazione in termini di modello. Consulta l'articolo Interpretable Machine Learning di Molnar per un'introduzione all'interpretazione indipendente del modello. SHAP è estremamente costoso da calcolare, ma può essere accelerato in modo significativo per le foreste decisionali, pertanto è un buon modo per interpretare le foreste decisionale.
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 forestale casuale, sostituisci semplicemente 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:
- Al pari degli alberi decisionale, le foreste casuali supportano caratteristiche numeriche e categoriche in modo nativo e spesso non hanno bisogno di pre-elaborazione delle funzionalità.
- Poiché gli alberi decisionale sono indipendenti, le foreste casuali possono essere addestrate in parallelo. Di conseguenza, si possono addestrare foreste casuali in modo rapido.
- Le foreste casuali hanno parametri predefiniti che spesso offrono ottimi risultati. La regolazione di tali parametri spesso ha scarso effetto sul modello.
Svantaggi:
- Gli alberi decisionale non vengono potati, quindi possono essere grandi. I modelli con più di 1 milione di nodi sono comuni. A volte, le dimensioni (e quindi la velocità di inferenza) della foresta casuale possono essere un problema.
- Le foreste casuali non possono apprendere e riutilizzare le rappresentazioni interne. Ogni albero decisionale (e ogni ramo di ogni albero decisionale) deve imparare di nuovo il pattern del set di dati. In alcuni set di dati, in particolare quelli non tabulari (ad esempio, immagine, testo), le foreste casuali portano a risultati peggiori rispetto ad altri metodi.