Tutto ciò che devi sapere sull'ottimizzazione dell'algoritmo della foresta casuale
Pubblicato: 2020-12-22Supponiamo di aver creato un programma di apprendimento automatico e di aver utilizzato il modello di foresta casuale per addestrarlo. Tuttavia, l'output/risultato del programma non è accurato come vorresti che fosse. Allora cosa fai?
Esistono tre metodi per migliorare un modello di apprendimento automatico per migliorare l'output di un programma di apprendimento automatico:
- Migliora la qualità dei dati di input e la progettazione delle funzionalità
- Ottimizzazione iperparametrica dell'algoritmo
- Utilizzo di diversi algoritmi
Ma cosa succede se hai già utilizzato tutte le origini dati disponibili? Il passaggio logico successivo è l'ottimizzazione degli iperparametri. Pertanto, se hai creato un programma di apprendimento automatico con un modello di foresta casuale, utilizzato la migliore origine dati e desideri migliorare ulteriormente l'output del programma, dovresti optare per l'ottimizzazione dell'iperparametro della foresta casuale .
Prima di approfondire l'ottimizzazione degli iperparametri della foresta casuale , diamo prima un'occhiata agli iperparametri e all'ottimizzazione degli iperparametri in generale.
Sommario
Cosa sono gli iperparametri?
Nel contesto del machine learning, gli iperparametri sono parametri il cui valore viene utilizzato per controllare il processo di apprendimento del modello. Sono esterni al modello e i loro valori non possono essere stimati dai dati.
Per l'ottimizzazione degli iperparametri della foresta casuale , gli iperparametri includono il numero di alberi decisionali e il numero di funzionalità considerate da ciascun albero durante la divisione del nodo.

Che cos'è l'ottimizzazione degli iperparametri?
L'ottimizzazione degli iperparametri è il processo di ricerca di un set ideale di iperparametri per un problema di apprendimento automatico.
Ora che abbiamo visto cosa sono gli iperparametri e l'ottimizzazione degli iperparametri, diamo un'occhiata agli iperparametri in una foresta casuale e all'ottimizzazione degli iperparametri della foresta casuale .
Leggi: Domande di intervista sull'albero decisionale
Che cos'è l'ottimizzazione dell'iperparametro della foresta casuale?
Per capire cos'è l'ottimizzazione degli iperparametri della foresta casuale , daremo un'occhiata a cinque iperparametri e all'ottimizzazione dell'iperparametro per ciascuno.
Iperparametro 1: max_depth
max_depth è il percorso più lungo tra il nodo radice e il nodo foglia in un albero in un algoritmo di foresta casuale. Ottimizzando questo iperparametro, possiamo limitare la profondità fino alla quale vogliamo che l'albero cresca nell'algoritmo della foresta casuale. Questo iperparametro riduce la crescita dell'albero decisionale lavorando a livello macro.
Iperparametro 2: max_terminal_nodes
Questo iperparametro limita la crescita di un albero decisionale nella foresta casuale impostando una condizione sulla divisione dei nodi nell'albero. La divisione dei nodi si interromperà e la crescita dell'albero cesserà se ci sono più nodi terminali del numero specificato dopo la divisione.
Ad esempio, supponiamo di avere un singolo nodo nell'albero e che i nodi terminali massimi siano impostati su quattro. Poiché esiste un solo nodo, per cominciare, il nodo verrà diviso e l'albero crescerà ulteriormente. Dopo che la divisione ha raggiunto il limite massimo di quattro, l'albero decisionale non crescerà ulteriormente poiché la divisione verrà interrotta. L'uso dell'ottimizzazione dell'iperparametro max_terminal_nodes aiuta a prevenire l'overfitting. Tuttavia, se il valore dell'ottimizzazione è molto piccolo, è probabile che la foresta non si adatti.
Lettura correlata: Classificazione dell'albero decisionale
Iperparametro 3: n_estimators
Uno scienziato di dati deve sempre affrontare il dilemma di quanti alberi decisionali considerare. Si può dire che scegliere un numero maggiore di alberi sia la strada da percorrere. Questo può essere vero, ma aumenta anche la complessità temporale dell'algoritmo della foresta casuale.
Con l'ottimizzazione dell'iperparametro n_estimators, possiamo decidere il numero di alberi nel modello di foresta casuale. Il valore predefinito del parametro n_estimators è dieci. Ciò significa che per impostazione predefinita vengono costruiti dieci diversi alberi decisionali. Ottimizzando questo iperparametro, possiamo modificare il numero di alberi che verranno costruiti.

Iperparametro 4: max_features
Con questa regolazione dell'iperparametro, possiamo decidere il numero di funzionalità da fornire a ciascun albero nella foresta. In genere, se il valore delle funzioni massime è impostato su sei, le prestazioni complessive del modello risultano essere le più elevate. Tuttavia, puoi anche impostare il valore del parametro max features sul valore predefinito, che è la radice quadrata del numero di feature presenti nel set di dati.
Iperparametro 5: min_samples_split
Questa ottimizzazione dell'iperparametro decide il numero minimo di campioni necessari per dividere un nodo foglia interno. Per impostazione predefinita, il valore di questo parametro è due. Significa che per dividere un nodo interno devono essere presenti almeno due campioni.
Come eseguire l'ottimizzazione dell'iperparametro della foresta casuale?
È necessario eseguire manualmente l' ottimizzazione degli iperparametri della foresta casuale , chiamando la funzione che crea il modello. L'ottimizzazione dell'iperparametro della foresta casuale è più un approccio sperimentale che teorico. Pertanto, potrebbe essere necessario provare diverse combinazioni di ottimizzazione degli iperparametri e valutare le prestazioni di ciascuna prima di deciderne una.
Ad esempio, supponiamo di dover ottimizzare il numero di stimatori e la divisione minima di un albero in un algoritmo di foresta casuale. Pertanto, è possibile utilizzare il comando seguente per eseguire l'ottimizzazione degli iperparametri:

foresta = RandomForestClassifier(random_state = 1, n_estimators = 20, min_samples_split = 2)
Nell'esempio precedente, il numero di stimatori viene modificato dal valore predefinito da dieci a venti. Pertanto, invece di dieci alberi decisionali, l'algoritmo creerà venti alberi nella foresta casuale. Allo stesso modo, un nodo foglia interno verrà diviso solo se ha almeno due campioni.
Conclusione
Ci auguriamo che questo blog ti abbia aiutato a comprendere l'ottimizzazione degli iperparametri della foresta casuale . Esistono molti altri iperparametri che puoi regolare per migliorare l'output del programma di apprendimento automatico. Nella maggior parte dei casi, l'ottimizzazione degli iperparametri è sufficiente per migliorare l'output del programma di apprendimento automatico.
Tuttavia, in rari casi, anche l'ottimizzazione casuale degli iperparametri della foresta potrebbe non rivelarsi utile. In tali situazioni, dovrai considerare un algoritmo di apprendimento automatico diverso come la regressione lineare o logistica, KNN o qualsiasi altro algoritmo che ritieni opportuno.
Se sei interessato a saperne di più sugli alberi decisionali, sull'apprendimento automatico, 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 , status di Alumni IIIT-B, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
Perché utilizzare l'algoritmo della foresta casuale?
L'algoritmo della foresta casuale è uno dei modelli più utilizzati quando si tratta della categoria degli algoritmi di apprendimento supervisionato nell'apprendimento automatico. L'algoritmo della foresta casuale può risolvere sia i problemi di classificazione che di regressione nell'apprendimento automatico. Si concentra sull'apprendimento d'insieme, il concetto che combina diversi classificatori per risolvere un problema complicato in modo tale da poter migliorare il funzionamento generale e il risultato di un modello. L'algoritmo della foresta casuale è popolare perché richiede molto meno tempo per l'addestramento rispetto a molti altri algoritmi. Può anche offrire previsioni estremamente accurate per insiemi di dati enormi, anche se mancano alcune parti dei dati.
Qual è la differenza tra un albero decisionale e una foresta casuale?
Un algoritmo dell'albero decisionale è una tecnica di apprendimento supervisionato nell'apprendimento automatico che modella un singolo albero che costituisce una serie di decisioni successive che portano a un risultato specifico. Un albero decisionale è semplice da interpretare e comprendere. Ma spesso è inadeguato per risolvere problemi più complessi. È qui che l'algoritmo della foresta casuale diventa utile: sfrutta diversi alberi decisionali per risolvere problemi specifici. In altre parole, l'algoritmo della foresta casuale genera casualmente più alberi decisionali e combina i loro risultati per produrre il risultato finale. Sebbene la foresta casuale sia più difficile da interpretare rispetto all'albero decisionale, produce risultati accurati quando sono coinvolti enormi volumi di dati.
Quali sono i vantaggi dell'utilizzo di un algoritmo di foresta casuale?
Il più grande vantaggio dell'utilizzo dell'algoritmo della foresta casuale risiede nella sua flessibilità. È possibile utilizzare questa tecnica sia per le attività di classificazione che per le attività di regressione. Oltre alla sua versatilità, questo algoritmo è anche estremamente utile: i parametri predefiniti che utilizza sono sufficientemente efficienti per produrre un'elevata precisione nelle previsioni. Inoltre, i modelli di classificazione dell'apprendimento automatico sono noti per problemi come l'overfitting. Se è presente un ampio numero di alberi nell'algoritmo della foresta casuale, i problemi di overfitting nella classificazione possono essere facilmente superati.