Altri argomenti

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.