Algoritmo della foresta casuale: quando usarlo e come usarlo? [Con pro e contro]

Pubblicato: 2020-12-24

Data Science comprende un'ampia gamma di algoritmi in grado di risolvere problemi relativi alla classificazione. La foresta casuale è solitamente presente in cima alla gerarchia di classificazione. Altri algoritmi includono: Support vector machine, Naive Bias classificatore e Decision Trees.

Prima di conoscere l'algoritmo della foresta casuale, comprendiamo innanzitutto il funzionamento di base degli alberi decisionali e come possono essere combinati per formare una foresta casuale.

Sommario

Alberi decisionali

L'algoritmo Decision Tree rientra nella categoria degli algoritmi di apprendimento supervisionato. L'obiettivo di un albero decisionale è prevedere la classe o il valore della variabile target in base alle regole sviluppate durante il processo di addestramento. Partendo dalla radice dell'albero confrontiamo il valore dell'attributo radice con il punto dati che vogliamo classificare e sulla base del confronto saltiamo al nodo successivo.

Andando avanti, discutiamo alcuni dei termini importanti e il loro significato nella gestione degli alberi decisionali.

  1. Nodo radice : è il nodo più alto dell'albero, da dove avviene la divisione per formare nodi più omogenei.
  2. Suddivisione dei punti dati: i punti dati vengono suddivisi in modo da ridurre la deviazione standard dopo la divisione.
  3. Guadagno di informazioni : Il guadagno di informazioni è la riduzione della deviazione standard che desideriamo ottenere dopo la divisione. Una maggiore riduzione della deviazione standard significa nodi più omogenei.
  4. Entropia : L'entropia è l'irregolarità presente nel nodo dopo che si è verificata la divisione. Più omogeneità nel nodo significa meno entropia.

Leggi: Domande di intervista sull'albero decisionale

Necessità dell'algoritmo della foresta casuale

L'algoritmo Decision Tree è soggetto a overfitting, ovvero alta precisione sui dati di addestramento e scarse prestazioni sui dati di test. Due metodi popolari per prevenire l'overfitting dei dati sono la potatura e la foresta casuale. La potatura si riferisce a una riduzione delle dimensioni dell'albero senza influire sulla precisione complessiva dell'albero.

Ora discutiamo l'algoritmo della foresta casuale.

Uno dei principali vantaggi della foresta casuale è la sua capacità di essere utilizzata sia nella classificazione che nei problemi di regressione.

Come suggerisce il nome, una foresta è formata dalla combinazione di più alberi. Allo stesso modo, un algoritmo di foresta casuale combina diversi algoritmi di apprendimento automatico (alberi decisionali) per ottenere una migliore precisione. Questo è anche chiamato apprendimento d'insieme. Qui una bassa correlazione tra i modelli aiuta a generare una migliore precisione rispetto a qualsiasi previsione individuale. Anche se alcuni alberi generano false previsioni, la maggior parte di essi produrrà previsioni vere, quindi l'accuratezza complessiva del modello aumenta.

Gli algoritmi della foresta casuale possono essere implementati sia in Python che in R come altri algoritmi di apprendimento automatico.

Quando usare Random Forest e quando usare gli altri modelli?

Prima di tutto, dobbiamo decidere se il problema è lineare o non lineare. Quindi, se il problema è lineare, dovremmo utilizzare la regressione lineare semplice nel caso in cui sia presente solo una singola funzionalità e se abbiamo più funzionalità dovremmo utilizzare la regressione lineare multipla. Tuttavia, se il problema non è lineare, dovremmo usare Regressione polinomiale, SVR, Albero decisionale o Casuale

Foresta. Quindi, utilizzando tecniche molto rilevanti che valutano le prestazioni del modello come k-Fold Cross-Validation, Grid Search o XGBoost, possiamo concludere il modello giusto che risolve il nostro problema.

Come faccio a sapere quanti alberi dovrei usare?

Per qualsiasi principiante, consiglierei di determinare il numero di alberi richiesti sperimentando. Di solito ci vuole meno tempo rispetto all'uso effettivo delle tecniche per capire il miglior valore modificando e mettendo a punto il tuo modello. Sperimentando diversi valori di iperparametri come il numero di alberi. Tuttavia, è possibile utilizzare tecniche come Cover k-Fold Cross-Convalidation e Grid Search, che sono metodi potenti per determinare il valore ottimale di un iperparametro, come qui il numero di alberi.

Il valore p può essere utilizzato per la foresta casuale?

Qui, il valore p sarà insignificante nel caso della foresta casuale poiché sono modelli non lineari.

Insaccamento

Gli alberi decisionali sono altamente sensibili ai dati su cui vengono addestrati, quindi sono soggetti a Overfitting. Tuttavia, la foresta casuale sfrutta questo problema e consente a ogni albero di campionare casualmente dal set di dati per ottenere diverse strutture ad albero. Questo processo è noto come Insacco.

Insaccamento non significa creare un sottoinsieme dei dati di addestramento. Significa semplicemente che stiamo ancora alimentando l'albero con dati di addestramento ma con dimensione N. Invece dei dati originali, prendiamo un campione di dimensione N (N punti dati) con sostituzione.

Importanza delle caratteristiche

Gli algoritmi della foresta casuale ci consentono di determinare l'importanza di una determinata caratteristica e il suo impatto sulla previsione. Calcola il punteggio per ciascuna funzione dopo l'allenamento e li ridimensiona in modo tale da sommarli a uno. Questo ci dà un'idea di quale funzione eliminare poiché non influiscono sull'intero processo di previsione. Con caratteristiche minori, è meno probabile che il modello cadrà preda di un overfitting.

Iperparametri

L'uso di iperparametri aumenta la capacità predittiva del modello o rende il modello più veloce.

Per cominciare, il parametro n_estimator è il numero di alberi che l'algoritmo costruisce prima di prendere la previsione media. Un valore elevato di n_estimator significa prestazioni migliorate con una previsione elevata. Tuttavia, il suo alto valore riduce anche il tempo di calcolo del modello.

Un altro iperparametro è max_features, che è il numero totale di funzionalità che il modello considera prima di suddividerlo in nodi successivi.

Inoltre, min_sample_leaf è il numero minimo di foglie necessarie per dividere il nodo interno.

Infine, random_state viene utilizzato per produrre un output fisso quando viene scelto un valore definito di random_state insieme agli stessi iperparametri e ai dati di training.

Vantaggi e svantaggi dell'algoritmo Random Forest

  1. La foresta casuale è un algoritmo molto versatile in grado di risolvere sia le attività di classificazione che di regressione.
  2. Inoltre, gli iperparametri coinvolti sono facili da capire e, di solito, i loro valori predefiniti danno una buona previsione.
  3. La foresta casuale risolve il problema dell'overfitting che si verifica negli alberi decisionali.
  4. Una limitazione della foresta casuale è che troppi alberi possono rallentare l'elaborazione dell'algoritmo, rendendolo così inefficace per la previsione sui dati in tempo reale.

Leggi anche: Tipi di algoritmo di classificazione

Conclusione

L'algoritmo della foresta casuale è un algoritmo molto potente con un'elevata precisione. La sua applicazione nella vita reale nei settori dell'investment banking, del mercato azionario e dei siti Web di e-commerce li rende un algoritmo molto potente da utilizzare. Tuttavia, è possibile ottenere prestazioni migliori utilizzando algoritmi di rete neurale, ma questi algoritmi, a volte, tendono a diventare complessi e richiedono più tempo per essere sviluppati.

Se sei interessato a saperne di più sull'albero decisionale, Machine Learning, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, stato di Alumni IIIT-B, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Quali sono gli svantaggi dell'utilizzo di algoritmi forestali casuali?

Random Forest è un sofisticato algoritmo di apprendimento automatico. Richiede molte risorse di elaborazione poiché genera molti alberi per trovare il risultato. Inoltre, rispetto ad altri algoritmi come il metodo dell'albero decisionale, questa tecnica richiede molto tempo di addestramento. Quando i dati forniti sono lineari, la regressione della foresta casuale non funziona bene.

Come funziona un algoritmo di foresta casuale?

Una foresta casuale è composta da molti alberi decisionali diversi, in modo simile a come una foresta è composta da numerosi alberi. I risultati del metodo della foresta casuale sono effettivamente determinati dalle previsioni degli alberi decisionali. Il metodo della foresta casuale riduce anche le possibilità di adattamento eccessivo dei dati. La classificazione casuale della foresta utilizza una strategia di insieme per ottenere il risultato desiderato. Vari alberi decisionali vengono addestrati utilizzando i dati di addestramento. Questo set di dati comprende osservazioni e caratteristiche che vengono scelte casualmente dopo la divisione dei nodi.

In che modo un albero decisionale è diverso da una foresta casuale?

Una foresta casuale non è altro che una raccolta di alberi decisionali, il che la rende complessa da comprendere. Una foresta casuale è più difficile da leggere di un albero decisionale. Rispetto agli alberi decisionali, la foresta casuale richiede tempi di addestramento più lunghi. Quando si ha a che fare con un enorme set di dati, tuttavia, la foresta casuale è preferita. L'overfitting è più comune negli alberi decisionali. L'overfitting è meno probabile nelle foreste casuali poiché utilizzano numerosi alberi.