ExtraTreesClassifier è come un fratello di RandomForest ma con 2 differenze importanti.
Stiamo costruendo più alberi decisionali. Per costruire più alberi, abbiamo bisogno di più set di dati. La migliore pratica è che non formiamo gli alberi delle decisioni sull'insieme di dati completo, ma ci alleniamo solo su una frazione dei dati (circa l'80%) per ogni albero. In una foresta casuale, disegniamo osservazioni con la sostituzione. Quindi possiamo ripetere le osservazioni in una foresta casuale. In un ExtraTreesClassifier, stiamo disegnando osservazioni senza sostituzione, quindi non avremo ripetizioni di osservazioni come nella foresta casuale.
La divisione è il processo di conversione di un nodo padre non omogeneo in 2 nodi figlio omogenei (il migliore possibile). In RandomForest, seleziona la divisione migliore per convertire il genitore nei due nodi figlio più omogenei. In ExtraTreesClassifier, seleziona una divisione casuale per dividere il nodo padre in due nodi figlio casuali.
Diamo un'occhiata ad alcuni metodi di ensemble ordinati dalla varianza alta a bassa, che terminano con ExtraTreesClassifier.
1. Albero decisionale (alta varianza)
Un singolo albero decisionale di solito si sovrappone ai dati da cui sta imparando perché impara da un solo percorso di decisioni. Le previsioni da un singolo albero decisionale di solito non fanno previsioni accurate su nuovi dati.
2. Foresta casuale (media varianza)
I modelli di foresta casuali riducono il rischio di overfitting introducendo casualità mediante:
- costruzione di più alberi (n_estimators)
- disegnare osservazioni con sostituzione (ad esempio un campione avviato)
- suddividere i nodi nella migliore suddivisione tra un sottoinsieme casuale delle funzionalità selezionate in ciascun nodo. La divisione è un processo per convertire un nodo padre non omogeneo in 2 nodi figlio omogenei (il migliore possibile).
3. Alberi extra (bassa varianza)
Alberi extra è come una foresta casuale, in quanto costruisce più alberi e divide i nodi usando sottoinsiemi casuali di funzionalità, ma con due differenze chiave: non avvia osservazioni bootstrap (nel senso che campiona senza sostituzione) e i nodi sono divisi su suddivisioni casuali, non meglio si divide. Quindi, in sintesi, ExtraTrees:
- costruisce più alberi con bootstrap = False per impostazione predefinita, il che significa che campiona senza sostituzione
- i nodi sono suddivisi in base a suddivisioni casuali tra un sottoinsieme casuale delle funzionalità selezionate in ciascun nodo
In Extra Trees, la casualità non deriva dal bootstrap dei dati, ma piuttosto dalle suddivisioni casuali di tutte le osservazioni. ExtraTrees prende il nome da (Alberi estremamente randomizzati).