Una semplice introduzione alle foreste casuali
Quando la relazione tra un insieme di variabili predittive e una variabile di risposta è molto complessa, spesso utilizziamo metodi non lineari per modellare la relazione tra loro.
Uno di questi metodi sono gli alberi di classificazione e regressione (spesso abbreviati CART), che utilizzano un insieme di variabili predittive per creare alberi decisionali che prevedono il valore di una variabile di risposta.
Il vantaggio degli alberi decisionali è che sono facili da interpretare e visualizzare. Il problema è che tendono a soffrire di una varianza elevata . Cioè, se dividiamo un set di dati in due metà e applichiamo un albero decisionale a entrambe le metà, i risultati potrebbero essere molto diversi.
Un modo per ridurre la varianza degli alberi decisionali è utilizzare un metodo noto come bagging , che funziona come segue:
1. Prendi b campioni bootstrap dal set di dati originale.
2. Creare un albero decisionale per ciascun campione di bootstrap.
3. Media delle previsioni di ciascun albero per ottenere un modello finale.
Il vantaggio di questo approccio è che un modello cluster generalmente fornisce un miglioramento nel tasso di errore del test rispetto a un singolo albero decisionale.
Lo svantaggio è che le previsioni derivanti dalla raccolta di alberi in sacchi possono essere altamente correlate se nel set di dati è presente un predittore molto forte. In questo caso, la maggior parte o tutti gli alberi inseriti utilizzeranno questo predittore per la prima suddivisione, risultando in alberi simili tra loro e con previsioni altamente correlate.
Pertanto, quando calcoliamo la media delle previsioni di ciascun albero per arrivare a un modello finale, è possibile che questo modello non riduca effettivamente la varianza rispetto a un singolo albero decisionale.
Un modo per aggirare questo problema è utilizzare un metodo noto come foreste casuali .
Cosa sono le foreste casuali?
Similmente al bagging, anche le foreste casuali prelevano campioni bootstrap da un set di dati originale.
Tuttavia, quando si costruisce un albero decisionale per ciascun campione bootstrap, ogni volta che viene considerata una suddivisione in un albero, solo un campione casuale di m predittori viene considerato candidato alla suddivisione nell’intero set di p predittori.
Quindi ecco il metodo completo utilizzato dalle foreste casuali per creare un modello:
1. Prendi b campioni bootstrap dal set di dati originale.
2. Creare un albero decisionale per ciascun campione di bootstrap.
- Quando si costruisce l’albero, ogni volta che viene considerata una suddivisione, solo un campione casuale di m predittori viene considerato candidato alla suddivisione dall’intero set di p predittori.
3. Media delle previsioni di ciascun albero per ottenere un modello finale.
Utilizzando questo metodo, la raccolta di alberi in una foresta casuale viene decorata rispetto agli alberi prodotti dall’insaccamento.
Pertanto, quando prendiamo le previsioni medie di ciascun albero per arrivare a un modello finale, questo tende ad avere meno variabilità e si traduce in un tasso di errore di test inferiore rispetto a un modello confezionato.
Quando si utilizzano foreste casuali, generalmente consideriamo i predittori m = √ p come candidati divisi ogni volta che si divide un albero decisionale.
Ad esempio, se abbiamo p = 16 predittori in totale in un set di dati, generalmente consideriamo solo m = √16 = 4 predittori come potenziali candidati per ciascuna suddivisione.
Nota tecnica:
È interessante notare che se scegliamo m = p (cioè consideriamo tutti i predittori come candidati ad ogni suddivisione), ciò equivale semplicemente a utilizzare il bagging.
Stima degli errori di out-of-bag
Analogamente al bagging, possiamo calcolare l’errore di testing di un modello di foresta casuale utilizzando la stima out-of-bag .
Si può dimostrare che ciascun campione bootstrap contiene circa 2/3 delle osservazioni del set di dati originale. Il restante terzo delle osservazioni non utilizzate per adattare l’albero è chiamato osservazioni out-of-bag (OOB) .
Possiamo prevedere il valore dell’i-esima osservazione nel set di dati originale prendendo la previsione media da ciascuno degli alberi in cui l’osservazione era OOB.
Possiamo utilizzare questo approccio per fare una previsione per tutte le n osservazioni nel set di dati originale e quindi calcolare un tasso di errore, che è una stima valida dell’errore del test.
Il vantaggio di utilizzare questo approccio per stimare l’errore del test è che è molto più veloce della convalida incrociata k-fold , soprattutto quando il set di dati è di grandi dimensioni.
I vantaggi e gli svantaggi delle foreste casuali
Le foreste casuali offrono i seguenti vantaggi :
- Nella maggior parte dei casi, le foreste casuali offriranno un miglioramento della precisione rispetto ai modelli confezionati e soprattutto rispetto agli alberi decisionali singoli.
- Le foreste casuali sono resistenti ai valori anomali.
- Non è necessaria alcuna preelaborazione per utilizzare foreste casuali.
Tuttavia, le foreste casuali presentano i seguenti potenziali svantaggi:
- Sono difficili da interpretare.
- Possono essere computazionalmente intensivi (cioè lenti) per attingere a grandi insiemi di dati.
In pratica, i data scientist utilizzano in genere foreste casuali per massimizzare l’accuratezza predittiva, quindi il fatto che non siano facilmente interpretabili di solito non è un problema.