Articles

un guide complet de l’algorithme de la forêt aléatoire

Posted by admin

La forêt aléatoire est un algorithme d’apprentissage automatique flexible et facile à utiliser qui produit, même sans réglage d’hyperparamètres, un excellent résultat la plupart du temps. C’est également l’un des algorithmes les plus utilisés, en raison de sa simplicité et de sa diversité (il peut être utilisé à la fois pour des tâches de classification et de régression). Dans cet article, nous allons apprendre comment fonctionne l’algorithme de la forêt aléatoire, en quoi il diffère des autres algorithmes et comment l’utiliser.

Qu’est-ce Qu’une forêt aléatoire?,

Random forest est un algorithme d’apprentissage supervisé. La  » forêt « qu’il construit, est un ensemble d’arbres de décision, généralement formés avec la méthode” ensachage ». L’idée générale de la méthode d’ensachage est qu’une combinaison de modèles d’apprentissage augmente le résultat global.,

table des matières

  • comment cela fonctionne
  • analogie réelle
  • importance des fonctionnalités
  • différence entre les arbres de décision et les forêts aléatoires
  • hyperparamètres importants (puissance prédictive, vitesse)
  • avantages et inconvénients
  • cas D’utilisation
  • résumé

Comment fonctionne la forêt aléatoire

Random Forest est un algorithme d’apprentissage supervisé. La  » forêt « qu’il construit, est un ensemble d’arbres de décision, généralement formés avec la méthode” ensachage »., L’idée générale de la méthode d’ensachage est qu’une combinaison de modèles d’apprentissage augmente le résultat global.

en termes simples: random forest construit plusieurs arbres de décision et les fusionne ensemble pour obtenir une prédiction plus précise et plus stable.

un grand avantage de la forêt aléatoire est qu’elle peut être utilisée à la fois pour les problèmes de classification et de régression, qui forment la majorité des systèmes d’apprentissage automatique actuels. Regardons la forêt aléatoire dans la classification, car la classification est parfois considérée comme le bloc de construction de l’apprentissage automatique., Ci-dessous, vous pouvez voir à quoi ressemblerait une forêt aléatoire avec deux arbres:

La forêt aléatoire a presque les mêmes hyperparamètres qu’un arbre de décision ou un classificateur d’ensachage. Heureusement, il n’est pas nécessaire de combiner un arbre de décision avec un classificateur d’ensachage car vous pouvez facilement utiliser la classe classificateur de random forest. Avec random forest, vous pouvez également gérer les tâches de régression en utilisant le régresseur de l’algorithme.

Random forest ajoute un caractère aléatoire supplémentaire au modèle, tout en faisant pousser les arbres., Au lieu de rechercher la fonctionnalité la plus importante lors de la division d’un nœud, il recherche la meilleure fonctionnalité parmi un sous-ensemble aléatoire de fonctionnalités. Il en résulte une grande diversité qui se traduit généralement par un meilleur modèle.

par conséquent, dans random forest, seul un sous-ensemble aléatoire des entités est pris en compte par l’algorithme de division d’un nœud. Vous pouvez même rendre les arbres plus aléatoires en utilisant des seuils aléatoires pour chaque fonctionnalité plutôt que de rechercher les meilleurs seuils possibles (comme le fait un arbre de décision normal).,

analogie réelle

Andrew veut décider où aller pendant les vacances d’un an, alors il demande aux personnes qui le connaissent le mieux des suggestions. Le premier ami qu  » il cherche lui demande sur les goûts et les dégoûts de ses voyages passés. Sur la base des réponses, il donnera quelques conseils à Andrew.

il s’agit d’une approche typique de l’algorithme de l’arbre de décision. L’ami d’Andrew a créé des règles pour guider sa décision sur ce qu’il devrait recommander, en utilisant les réponses D’Andrew.,

par la suite, Andrew commence à demander de plus en plus à ses amis de le conseiller et ils lui posent à nouveau différentes questions dont ils peuvent tirer des recommandations. Enfin, Andrew choisit les endroits qui lui recommandent le plus, ce qui est l’approche typique de l’algorithme de la forêt aléatoire.

importance des entités

Une autre grande qualité de l’algorithme de la forêt aléatoire est qu’il est très facile de mesurer l’importance relative de chaque entité sur la prédiction., Sklearn fournit un excellent outil pour cela qui mesure l’importance d’une fonctionnalité en regardant dans quelle mesure les nœuds d’arbre qui utilisent cette fonctionnalité réduisent l’impureté dans tous les arbres de la forêt. Il calcule ce score automatiquement pour chaque caractéristique après l’entraînement et met à l’échelle les résultats afin que la somme de toutes les importance soit égale à un.

Si vous ne savez pas comment fonctionne un arbre de décision ou ce qu’est une feuille ou un nœud, voici une bonne description de Wikipedia: ‘ »dans un arbre de décision, chaque nœud interne représente un ‘test’ sur un attribut (par exemple, qu’un coin flip arrive en tête ou en queue), chaque branche représente le résultat du test et chaque nœud feuille représente une étiquette de classe (décision prise après le calcul de tous les attributs). Un nœud qui n’a pas d’enfants est une feuille.' »

en regardant l’importance des fonctionnalités, vous pouvez décider quelles fonctionnalités supprimer car elles ne contribuent pas suffisamment (ou parfois rien du tout) au processus de prédiction. Ceci est important car une règle générale en apprentissage automatique est que plus vous avez de fonctionnalités, plus votre modèle risque de souffrir d’un surajustement et vice versa.,

Voici un tableau et une visualisation montrant l’importance de 13 fonctionnalités, que j’ai utilisées lors d’un projet de classification supervisé avec le célèbre jeu de données Titanic sur kaggle. Vous pouvez trouver l’ensemble du projet ici.

La différence entre le point de Décision les Arbres et les Forêts Aléatoires

Alors que l’aléatoire de la forêt est une collection d’arbres de décision, il y a quelques différences.,

Si vous entrez un ensemble de données d’entraînement avec des fonctionnalités et des étiquettes dans un arbre de décision, il formulera un ensemble de règles, qui seront utilisées pour faire les prédictions.

par exemple, pour prédire si une personne cliquera sur une publicité en ligne, vous pouvez collecter les annonces sur lesquelles la personne a cliqué dans le passé et certaines fonctionnalités décrivant sa décision. Si vous placez les fonctionnalités et les étiquettes dans un arbre de décision, il générera des règles qui aideront à prédire si la publicité sera cliquée ou non., En comparaison, l’algorithme random forest sélectionne aléatoirement des observations et des caractéristiques pour construire plusieurs arbres de décision, puis fait la moyenne des résultats.

Une autre différence est que les arbres de décision « profonds » peuvent souffrir d’un sur-Ajustement. La plupart du temps, random forest empêche cela en créant des sous-ensembles aléatoires des entités et en construisant des arbres plus petits à l’aide de ces sous-ensembles. Par la suite, il combine les sous-arbres. Il est important de noter que cela ne fonctionne pas à chaque fois et que cela ralentit également le calcul, en fonction du nombre d’arbres construits par la forêt aléatoire.,

hyperparamètres importants

Les hyperparamètres dans la forêt aléatoire sont utilisés soit pour augmenter la puissance prédictive du modèle, soit pour rendre le modèle plus rapide. Regardons les hyperparamètres de la fonction de forêt aléatoire intégrée sklearns.

1. Augmenter la puissance prédictive

Tout d’abord, il y a l’hyperparamètre n_estimators, qui est juste le nombre d’arbres que l’algorithme construit avant de prendre le vote maximum ou de prendre les moyennes des prédictions., En général, un nombre plus élevé d’arbres augmente les performances et rend les prédictions plus stables, mais cela ralentit également le calcul.

un autre hyperparamètre important est max_features, qui est le nombre maximum d’entités que random forest considère pour diviser un nœud. Sklearn propose plusieurs options, toutes décrites dans la documentation.

Le Dernier hyperparamètre important est min_sample_leaf. Cela détermine le nombre minimum de feuilles requis pour diviser un nœud interne.

2., Augmenter la vitesse du modèle

l’hyperparamètre n_jobs indique au moteur le nombre de processeurs qu’il est autorisé à utiliser. S’il a une valeur de un, il ne peut utiliser qu’un seul processeur. Une valeur de -1 signifie qu’il n’y a pas de limite.

l’hyperparamètre random_state rend la sortie du modèle réplicable. Le modèle produira toujours les mêmes résultats lorsqu’il a une valeur définie de random_state et s’il a reçu les mêmes hyperparamètres et les mêmes données d’entraînement.

enfin, il y a le oob_score (également appelé échantillonnage oob), qui est une méthode de validation croisée de forêt aléatoire., Dans cet échantillonnage, environ un tiers des données ne sont pas utilisées pour former le modèle et peuvent être utilisées pour évaluer sa performance. Ces échantillons sont appelés les échantillons hors sac. C’est très similaire à la méthode de validation croisée leave-one-out-cross-validation, mais presque aucune charge de calcul supplémentaire ne va de pair avec elle.

avantages et inconvénients de L’algorithme de la forêt aléatoire

l’un des plus grands avantages de la forêt aléatoire est sa polyvalence. Il peut être utilisé à la fois pour des tâches de régression et de classification, et il est également facile d’afficher l’importance relative qu’il attribue aux fonctionnalités d’entrée.,

Random forest est également un algorithme très pratique car les hyperparamètres par défaut qu’il utilise produisent souvent un bon résultat de prédiction. Comprendre les hyperparamètres est assez simple, et il n’y en a pas beaucoup non plus.

l’un des plus gros problèmes de l’apprentissage automatique est le sur-ajustement, mais la plupart du temps, cela ne se produira pas grâce au classificateur de forêt aléatoire. S’il y a suffisamment d’arbres dans la forêt, le classificateur ne surfit pas le modèle.,

la principale limitation de la forêt aléatoire est qu’un grand nombre d’arbres peut rendre l’algorithme trop lent et inefficace pour les prédictions en temps réel. En général, ces algorithmes sont rapides à former, mais assez lents à créer des prédictions une fois qu’ils sont formés. Une prédiction plus précise nécessite plus d’arbres, ce qui se traduit par un modèle plus lent. Dans la plupart des applications du monde réel, l’algorithme de forêt aléatoire est assez rapide, mais il peut certainement y avoir des situations où les performances d’exécution sont importantes et d’autres approches seraient préférées.,

et, bien sûr, random forest est un outil de modélisation prédictive et non un outil descriptif, ce qui signifie que si vous recherchez une description des relations dans vos données, d’autres approches seraient meilleures.

cas D’utilisation de la forêt aléatoire

l’algorithme de la forêt aléatoire est utilisé dans de nombreux domaines, tels que la banque, la bourse, la médecine et le commerce électronique.

en finance, par exemple, il est utilisé pour détecter les clients plus susceptibles de rembourser leur dette à temps ou d’utiliser les services d’une banque plus fréquemment. Dans ce domaine, il est également utilisé pour détecter les fraudeurs pour arnaquer la banque., Dans le trading, l’algorithme peut être utilisé pour déterminer le comportement futur d’un stock.

dans le domaine de la santé, il est utilisé pour identifier la combinaison correcte de composants en médecine et pour analyser les antécédents médicaux d’un patient afin d’identifier les maladies.

Random forest est utilisé dans le commerce électronique pour déterminer si un client aimera réellement le produit ou non.

résumé

Random forest est un excellent algorithme à entraîner au début du processus de développement du modèle, pour voir comment il fonctionne. Sa simplicité rend la construction d’une” mauvaise  » forêt aléatoire une proposition difficile.,

l’algorithme est également un excellent choix pour tous ceux qui ont besoin de développer un modèle rapidement. En plus de cela, il fournit un très bon indicateur de l’importance qu’il attribue à vos fonctionnalités.

Les forêts aléatoires sont également très difficiles à battre en termes de performances. Bien sûr, vous pouvez probablement toujours trouver un modèle qui peut mieux fonctionner, comme un réseau de neurones par exemple, mais ceux-ci prennent généralement plus de temps à développer, bien qu’ils puissent gérer de nombreux types de fonctionnalités différents, comme binaire, catégorique et numérique.,

dans l’ensemble, random forest est un outil (la plupart du temps) rapide, simple et flexible, mais non sans certaines limitations.

Niklas Donges est entrepreneur, rédacteur technique et expert en IA. Il a travaillé dans une équipe D’IA de SAP pendant 1,5 ans, après quoi il a fondé Markov Solutions. La société basée à Berlin est spécialisée dans l’intelligence artificielle, l’apprentissage automatique et l’apprentissage profond, offrant des solutions logicielles personnalisées basées sur L’IA et des programmes de conseil à diverses entreprises.

Leave A Comment