Qu'est-ce que l'algorithme de forêt aléatoire (random forest) ?
Découvrez l'algorithme de forêt aléatoire et comment il peut vous aider à prendre de meilleures décisions pour atteindre vos objectifs métier.
Arrière-plan noir et bleu
Qu'est-ce que l'algorithme de forêt aléatoire (random forest) ?

La forêt aléatoire est un algorithme d'apprentissage automatique couramment utilisé, et breveté par Leo Breiman et Adele Cutler, qui permet d'assembler les sorties de plusieurs arbres de décision pour atteindre un résultat unique. Sa souplesse d'utilisation et sa flexibilité ont favorisé son adoption, car il gère à la fois les problèmes de classification et de régression.

Arbres de décision

Le modèle de forêt aléatoire étant constitué de plusieurs arbres de décision, il est utile de commencer par décrire l'algorithme des arbres de décision dans les grandes lignes. Les arbres décisionnels commencent par une question de base, par exemple : « Est-ce que je dois aller surfer ? ». À partir de là, vous pouvez poser une série de questions pour déterminer une réponse, par exemple « La houle va-t-elle durer ? » ou « Est-ce que le vent souffle au large ? ». Ces questions composent les nœuds de décision de l'arbre et agissent comme un moyen de diviser les données. Chaque question aide une personne à prendre une décision finale qui sera désignée par le nœud feuille. Les observations qui correspondent aux critères suivent la branche « oui » et celles qui ne correspondent pas suivent le chemin alternatif.  Les arbres de décision cherchent à identifier la meilleure subdivision possible pour créer des sous-ensembles de données et sont généralement entraînés par l'algorithme CART (Classification and Regression Tree). Des mesures, telles que l'impureté de Gini, le gain d'information, le carré moyen des erreurs (MSE), peuvent être utilisées pour évaluer la qualité de la division.  

Cet arbre de décision est un exemple de problème de classification, où les étiquettes de classe sont « surfer » et « ne pas surfer ».

Bien que les arbres de décision soient des algorithmes d'apprentissage supervisé courants, ils peuvent être sujets à des problèmes, tels que le biais et l'ajustement excessif. Cependant, lorsque plusieurs arbres de décision forment un ensemble dans l'algorithme de forêt aléatoire, ils prédisent des résultats précis, surtout lorsque les arbres individuels ne sont pas corrélés les uns aux autres.

Méthodes ensemblistes

Les méthodes ensemblistes des algorithmes d'apprentissage sont constituées d'un ensemble de classificateurs (par exemple, arbres de décision), et leurs prédictions sont agrégées pour identifier le résultat le plus fréquent. Les méthodes ensemblistes les plus connues sont le bagging, également appelé boostrap aggregation, et le boosting. En 1996, Leo Breiman (lien externe à ibm.com) (PDF, 810 Ko) introduit la méthode bagging. Dans cette méthode, un échantillon aléatoire de données dans un ensemble d'entraînement est sélectionné avec remplacement, ce qui signifie que chaque point de données peut être choisi plusieurs fois. Après que plusieurs échantillons de données ont été générés, ces modèles sont ensuite entraînés de manière indépendante et en fonction du type de tâche, c'est-a-dire d'une régression ou d'une classification, la moyenne ou la majorité de ces prédictions donne une estimation plus précise. Cette approche est couramment utilisée pour diminuer la variance au sein d'un jeu de données bruyant.

L'algorithme de forêt aléatoire

L'algorithme de forêt aléatoire est une extension de la méthode bagging, car elle repose sur le bagging et le feature randomness (fonction aléatoire) pour créer une forêt d'arbres de décision non corrélés. Le feature randomness, également appelé feature bagging ou « méthode de sous-espace aléatoire » (lien externe à ibm.com) (PDF, 121 Ko), génère un sous-ensemble aléatoire de fonctions, qui assure une faible corrélation entre les arbres de décision. Il s'agit là d'une différence essentielle entre les arbres de décision et les forêts aléatoires. Alors que les arbres de décision tiennent compte de toutes les subdivisions de fonctions possibles, les forêts aléatoires, elles, ne sélectionnent qu'un sous-ensemble de ces fonctions.

Dans l'exemple « Est-ce que je dois aller surfer ? », on constate que les questions qu'une personne peut poser pour déterminer la prédiction peuvent très bien ne pas être aussi complètes que celles posées par une autre personne. En tenant compte de toute la variabilité possible dans les données, nous pouvons réduire le risque de surajustement, de biais ou de variance générale pour produire des prédictions plus précises.

Produits à la une

SPSS Modeler

Fonctionnement

Les algorithmes de forêt aléatoire disposent de trois hyperparamètres principaux qui n'ont pas besoin d'être définis avant l'entraînement. Ce sont la taille des nœuds, le nombre d'arbres et le nombre de fonctions échantillonnées. À partir de là, le classificateur de forêt aléatoire peut être utilisée pour résoudre des problèmes de régression ou de classification.

L'algorithme de forêt aléatoire est constitué d'un ensemble d'arbres de décision, et chaque arbre dans l'ensemble comprend un échantillon de données tiré d'un ensemble d'entraînement avec remplacement appelé échantillon bootstrap. Un tiers des données de cet échantillon d'entraînement est mis de côté en tant que données de test, appelées échantillon out-of-bag (oob), sur lesquelles nous reviendrons plus tard. Une autre instance aléatoire est ensuite injectée via le feature bagging, ce qui permet d'ajouter plus de diversité dans le jeu de données et de réduire la corrélation entre les arbres de décision. La détermination de la prédiction varie en fonction du type de problème. Pour une tâche de régression, les arbres de décision individuels sont moyennés ; pour une tâche de classification, un vote majoritaire est utilisé, c'est-à-dire la variable la plus fréquente par catégorie, pour produire la classe prédite. Enfin, l'échantillon oob est ensuite utilisé pour effectuer une validation croisée afin de finaliser cette prédiction.

Avantages et défis de la forêt aléatoire

L'algorithme de forêt aléatoire présente un nombre d'avantages et de défis clés lorsqu'il est utilisé pour résoudre les problèmes de classification ou de régression. En voici quelques-uns :

Principaux avantages

  • Réduction du risque de surajustement : les arbres de décision peuvent produire un surajustement, car ils ont tendance à ajuster tous les échantillons à partir des données d'entraînement. Cependant, lorsqu'il existe un nombre important d'arbres de décision dans une forêt aléatoire, l'algorithme de classification ne va pas surajuster le modèle puisque la moyenne des arbres décorrélés fait baisser la variance globale et l'erreur de prédiction.
  • Flexibilité : comme la forêt aléatoire peut gérer à la fois des tâches de régression et de classification avec un haut degré d'exactitude, il s'agit d'une méthode appréciée des spécialistes des données. Le feature bagging fait également de la forêt aléatoire un outil efficace pour estimer les valeurs manquantes, car il garantit la précision lorsqu'il manque une partie des données.
  • Détermination facile de l'importance de la fonction : une forêt aléatoire permet d'évaluer facilement l'importance ou la contribution des variables au modèle. Il existe plusieurs façons d'évaluer l'importance d'une fonction. L'importance et la diminution moyenne en impureté de Gini (MDI) sont généralement utilisées pour mesurer la baisse de précision d'un modèle en fonction de l'exclusion d'une certaine variable. Cependant, l'importance de la permutation, également appelée MDA (mean decrease accuracy), est une autre mesure importante. La MDA identifie la baisse moyenne de précision en permutant les valeurs de fonction dans les échantillons oob de manière aléatoire.

Principaux défis

  • Processus chronophage : comme les forêts aléatoires peuvent gérer de grands jeux de données, elles peuvent fournir davantage de prédictions précises, mais elles peuvent être lentes à traiter les données car elles calculent des données pour chaque arbre de décision.
  • Davantage de ressources requises : comme les forêts aléatoires traitent de plus grands jeux de données, elles ont besoin de plus de ressources pour stocker ces données.
  • Complexité accrue : la prédiction d'un arbre de décision unique est plus facile à interpréter que celle d'une forêt entière.
Applications de forêt alératoire

L'algorithme de forêt aléatoire a été mis en œuvre dans différents secteurs d'activité pour favoriser une meilleure prise de décision métier. Voici quelques exemples de cas d'utilisation :

  • Finance : algorithme plus apprécié que les autres, car il réduit le temps consacré à la gestion des données et aux tâches de pré-traitement. Il peut être utilisé pour évaluer les clients présentant un risque élevé de crédit, pour détecter les fraudes et les problèmes d'évaluation des options.
  • Soins de santé : l'algorithme de forêt aléatoire trouve des applications dans la biologie informatique (lien externe à ibm.com) (PDF, 737 Ko), ce qui permet aux médecins de s'attaquer à des problèmes tels que la classification de l'expression des gènes, la découverte de biomarqueurs et l'annotation de séquences. Ils peuvent ainsi faire des estimations concernant différentes réactions à certains médicaments.
  • Commerce électronique : il peut être utilisé dans les moteurs de recommandation à des fins de ventes croisées.
Solutions connexes
SPSS® Modeler

IBM SPSS® Modeler fournit des analyses prédictives permettant de reconnaître des modèles de données, d'obtenir des prévisions précises et d'améliorer la prise de décision.

Explorer SPSS Modeler
Ressources Outil de science des données par glisser-déposer IBM SPSS® Modeler

Les entreprises du monde entier l'utilisent pour la préparation et la reconnaissance de données, l'analyse prédictive, la gestion et le déploiement de modèles, ainsi que pour l'apprentissage automatique, afin de monétiser leurs ressources de données.

Réseaux neuronaux inspirés de la forêt aléatoire

Découvrez comment un réseau de neurones soigneusement conçu avec une structure de forêt aléatoire peut avoir une meilleure capacité de généralisation.

Pour aller plus loin

IBM SPSS Modeler est un ensemble d'outils d'exploration de données qui permet de développer des modèles prédictifs à déployer dans les opérations métier. Conçu sur le modèle standard sectoriel CRISP-DM, IBM SPSS Modeler prend en charge l'ensemble du processus d'exploration de données, du traitement de l'information à l'amélioration des résultats des entreprises.

Essayer IBM SPSS Modeler maintenant