Tout ce que vous devez savoir sur l'optimisation de l'algorithme de forêt aléatoire

Publié: 2020-12-22

Supposons que vous ayez créé un programme d'apprentissage automatique et utilisé le modèle de forêt aléatoire pour l'entraîner. Cependant, la sortie/le résultat du programme n'est pas aussi précis que vous le souhaitez. Donc que fais-tu?

Il existe trois méthodes pour améliorer un modèle d'apprentissage automatique afin d'améliorer le résultat d'un programme d'apprentissage automatique :

  • Améliorer la qualité des données d'entrée et l'ingénierie des fonctionnalités
  • Réglage des hyperparamètres de l'algorithme
  • Utiliser différents algorithmes

Mais que se passe-t-il si vous avez déjà utilisé toutes les sources de données disponibles ? La prochaine étape logique est le réglage des hyperparamètres. Ainsi, si vous avez créé un programme d'apprentissage automatique avec un modèle de forêt aléatoire, utilisé la meilleure source de données et souhaitez améliorer davantage la sortie du programme, vous devez opter pour le réglage des hyperparamètres de la forêt aléatoire .

Avant de nous plonger dans le réglage des hyperparamètres de forêt aléatoire , examinons d'abord les hyperparamètres et le réglage des hyperparamètres en général.

Table des matières

Que sont les hyperparamètres ?

Dans le contexte de l'apprentissage automatique, les hyperparamètres sont des paramètres dont la valeur est utilisée pour contrôler le processus d'apprentissage du modèle. Ils sont externes au modèle et leurs valeurs ne peuvent pas être estimées à partir des données.

Pour le réglage des hyperparamètres de forêt aléatoire , les hyperparamètres incluent le nombre d'arbres de décision et le nombre d'entités prises en compte par chaque arbre lors du fractionnement des nœuds.

Qu'est-ce que le réglage des hyperparamètres ?

Le réglage des hyperparamètres est le processus de recherche d'un ensemble idéal d'hyperparamètres pour un problème d'apprentissage automatique.

Maintenant que nous avons vu ce que sont les hyperparamètres et le réglage des hyperparamètres, examinons les hyperparamètres dans une forêt aléatoire et le réglage des hyperparamètres de la forêt aléatoire .

Lire: Questions d'entretien sur l'arbre de décision

Qu'est-ce que le réglage d'hyperparamètres de forêt aléatoire ?

Pour comprendre ce qu'est le réglage des hyperparamètres aléatoires de la forêt , nous allons examiner cinq hyperparamètres et le réglage des hyperparamètres pour chacun.

Hyperparamètre 1 : profondeur_max

max_depth est le chemin le plus long entre le nœud racine et le nœud feuille dans un arbre dans un algorithme de forêt aléatoire. En ajustant cet hyperparamètre, nous pouvons limiter la profondeur à laquelle nous voulons que l'arbre se développe dans l'algorithme de forêt aléatoire. Cet hyperparamètre réduit la croissance de l'arbre de décision en travaillant au niveau macro.

Hyperparamètre 2 : max_terminal_nodes

Cet hyperparamètre limite la croissance d'un arbre de décision dans la forêt aléatoire en définissant une condition sur le fractionnement des nœuds dans l'arbre. La division des nœuds s'arrêtera et la croissance de l'arbre cessera s'il y a plus de nœuds terminaux que le nombre spécifié après la division.

Par exemple, supposons que nous ayons un seul nœud dans l'arbre et que le nombre maximal de nœuds terminaux soit fixé à quatre. Puisqu'il n'y a qu'un seul nœud, pour commencer, le nœud sera divisé et l'arbre continuera de croître. Une fois que le fractionnement atteint la limite maximale de quatre, l'arbre de décision ne s'agrandira plus car le fractionnement sera terminé. L'utilisation du réglage d'hyperparamètre max_terminal_nodes permet d'éviter le surajustement. Cependant, si la valeur du réglage est très petite, la forêt est susceptible de sous-ajuster.

Lecture connexe : Classification de l'arbre de décision

Hyperparamètre 3 : n_estimators

Un scientifique des données est toujours confronté au dilemme du nombre d'arbres de décision à prendre en compte. On peut dire que choisir un plus grand nombre d'arbres est la voie à suivre. Cela peut être vrai, mais cela augmente également la complexité temporelle de l'algorithme de forêt aléatoire.

Avec le réglage de l'hyperparamètre n_estimators, nous pouvons décider du nombre d'arbres dans le modèle de forêt aléatoire. La valeur par défaut du paramètre n_estimators est dix. Cela signifie que dix arbres de décision différents sont construits par défaut. En ajustant cet hyperparamètre, nous pouvons modifier le nombre d'arbres qui seront construits.

Hyperparamètre 4 : max_features

Avec ce réglage d'hyperparamètres, nous pouvons décider du nombre de fonctionnalités à fournir à chaque arbre de la forêt. Généralement, si la valeur de max features est définie sur six, les performances globales du modèle sont les plus élevées. Cependant, vous pouvez également définir la valeur par défaut du paramètre max features, qui correspond à la racine carrée du nombre d'entités présentes dans le jeu de données.

Hyperparamètre 5 : min_samples_split

Ce réglage d'hyperparamètres détermine le nombre minimum d'échantillons requis pour diviser un nœud feuille interne. Par défaut, la valeur de ce paramètre est deux. Cela signifie que pour diviser un nœud interne, il doit y avoir au moins deux échantillons présents.

Comment faire un réglage d'hyperparamètre de forêt aléatoire ?

Vous devez effectuer manuellement le réglage des hyperparamètres aléatoires de la forêt en appelant la fonction qui crée le modèle. Le réglage des hyperparamètres de la forêt aléatoire est plus une approche expérimentale qu'une approche théorique. Ainsi, vous devrez peut-être essayer différentes combinaisons de réglage d'hyperparamètres et évaluer les performances de chacune avant d'en choisir une.

Par exemple, supposons que vous deviez ajuster le nombre d'estimateurs et la division minimale d'un arbre dans un algorithme de forêt aléatoire. Par conséquent, vous pouvez utiliser la commande suivante pour effectuer le réglage des hyperparamètres :

forêt = RandomForestClassifier (random_state = 1, n_estimators = 20, min_samples_split = 2)

Dans l'exemple ci-dessus, le nombre d'estimateurs passe de leur valeur par défaut de dix à vingt. Ainsi, au lieu de dix arbres de décision, l'algorithme créera vingt arbres dans la forêt aléatoire. De même, un nœud feuille interne ne sera divisé que s'il a au moins deux échantillons.

Conclusion

Nous espérons que ce blog vous a aidé à comprendre le réglage des hyperparamètres de forêt aléatoire . Il existe de nombreux autres hyperparamètres que vous pouvez ajuster pour améliorer la sortie du programme d'apprentissage automatique. Dans la plupart des cas, le réglage des hyperparamètres est suffisant pour améliorer la sortie du programme d'apprentissage automatique.

Cependant, dans de rares cas, même le réglage aléatoire des hyperparamètres de la forêt peut ne pas s'avérer utile. Dans de telles situations, vous devrez envisager un algorithme d'apprentissage automatique différent, tel que la régression linéaire ou logistique, KNN ou tout autre algorithme que vous jugerez approprié.

Si vous souhaitez en savoir plus sur les arbres de décision, l'apprentissage automatique, consultez le diplôme PG en apprentissage automatique et IA de IIIT-B & upGrad, conçu pour les professionnels en activité et offrant plus de 450 heures de formation rigoureuse, plus de 30 études de cas et missions. , statut IIIT-B Alumni, plus de 5 projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Pourquoi utiliser l'algorithme de forêt aléatoire ?

L'algorithme de forêt aléatoire est l'un des modèles les plus utilisés dans la catégorie des algorithmes d'apprentissage supervisé en apprentissage automatique. L'algorithme de forêt aléatoire peut résoudre à la fois les problèmes de classification et de régression dans l'apprentissage automatique. Il est axé sur l'apprentissage d'ensemble, le concept qui combine plusieurs classificateurs pour résoudre un problème compliqué de manière à améliorer le fonctionnement global et les résultats d'un modèle. L'algorithme de forêt aléatoire est populaire car il prend beaucoup moins de temps pour la formation par rapport à de nombreux autres algorithmes. Il peut également offrir des prévisions très précises pour des ensembles massifs de données, même si certaines parties des données manquent.

Quelle est la différence entre un arbre de décision et une forêt aléatoire ?

Un algorithme d'arbre de décision est une technique d'apprentissage supervisé en apprentissage automatique qui modélise un arbre unique constituant une série de décisions ultérieures qui conduisent à un résultat spécifique. Un arbre de décision est simple à interpréter et à comprendre. Mais il est souvent insuffisant pour résoudre des problèmes plus complexes. C'est là que l'algorithme de forêt aléatoire devient utile - il exploite plusieurs arbres de décision pour résoudre des problèmes spécifiques. En d'autres termes, l'algorithme de forêt aléatoire génère de manière aléatoire plusieurs arbres de décision et combine leurs résultats pour produire le résultat final. Bien que la forêt aléatoire soit plus difficile à interpréter que l'arbre de décision, elle produit des résultats précis lorsque des volumes massifs de données sont impliqués.

Quels sont les avantages d'utiliser un algorithme de forêt aléatoire ?

Le plus grand avantage de l'utilisation de l'algorithme de forêt aléatoire réside dans sa flexibilité. Vous pouvez utiliser cette technique pour les tâches de classification et de régression. Outre sa polyvalence, cet algorithme est également extrêmement pratique - les paramètres par défaut qu'il utilise sont suffisamment efficaces pour produire une grande précision dans les prédictions. De plus, les modèles de classification d'apprentissage automatique sont bien connus pour des problèmes tels que le sur-ajustement. S'il y a un grand nombre d'arbres dans l'algorithme de forêt aléatoire, les problèmes de surajustement dans la classification peuvent être facilement surmontés.