Régression aléatoire des forêts. Dans ce blog, nous essaierons de comprendre… | par Afroz Chakure

 Régression aléatoire des forêts. Dans ce blog, nous essaierons de comprendre… | par Afroz Chakure

Avec son implémentation en Python

Afroz Chakure

Dans ce blog, nous allons essayer de comprendre l’un des algorithmes les plus importants de l’apprentissage automatique, à savoir l’algorithme de forêt aléatoire. Nous allons essayer de regarder les choses qui rendent Random Forest si spécial et essayer de l’implémenter sur un jeu de données réel.

Le code ainsi que l’ensemble de données peuvent être trouvés ici.

Apprentissage d’ensemble

Une méthode Ensemble est une technique qui combine les prédictions de plusieurs algorithmes d’apprentissage automatique ensemble pour faire des prédictions plus précises que n’importe quel modèle individuel. Un modèle composé de nombreux modèles est appelé un Modèle d’ensemble.

Méthode d’apprentissage d’ensemble
  1. Boosting.
  2. Agrégation Bootstrap (ensachage).

1. Boosting

Booster rse réfère à un groupe d’algorithmes qui utilisent des moyennes pondérées pour faire des apprenants faibles en apprenants plus forts. La stimulation est une question de «travail d’équipe». Chaque modèle qui s’exécute dicte les fonctionnalités sur lesquelles le prochain modèle se concentrera.

Dans stimulant comme son nom l’indique, on apprend des autres qui à leur tour booste l’apprentissage.

2. Agrégation Bootstrap (ensachage)

Bootstrap fait référence à échantillonnage aléatoire avec remplacement. Bootstrap nous permet de mieux comprendre le biais et la variance avec l’ensemble de données. Le bootstrap implique un échantillonnage aléatoire d’un petit sous-ensemble de données de l’ensemble de données.

C’est une procédure générale qui peut être utilisée pour réduire la variance pour ceux algorithme à forte variance, généralement des arbres de décision. L’ensachage permet à chaque modèle de fonctionner indépendamment, puis agrège les sorties à la fin sans préférence pour aucun modèle.

Problèmes avec les arbres de décision 🙁

Les arbres de décision sont sensibles aux données spécifiques sur lesquelles ils sont formés. Si les données d’entraînement sont modifiées, l’arbre de décision qui en résulte peut être très différent et les prédictions peuvent être très différentes.

Les arbres de décision sont également formation coûteuse en calcul, comportent un grand risque de surapprentissage, et ont tendance à trouver des optima locaux car ils ne peuvent pas revenir en arrière après avoir fait une séparation.

Pour remédier à ces faiblesses, nous nous tournons vers Random Forest 🙂 qui illustre le pouvoir de combiner de nombreux arbres de décision en un seul modèle.

Forêt aléatoire

Structure de forêt aléatoire

La forêt aléatoire est un Algorithme d’apprentissage supervisé qui utilise la méthode d’apprentissage d’ensemble pour classification et régression.

Forêt aléatoire est un ensachage technique et pas un stimulant technique. Les arbres dans forêts aléatoires sont exécutés en parallèle. Il n’y a pas d’interaction entre ces arbres lors de la construction des arbres.

Il fonctionne en construisant une multitude d’arbres de décision au moment de la formation et en sortant la classe qui est le mode du classes (classification) ou prédiction moyenne (régression) des arbres individuels.

Une forêt aléatoire est un méta-estimateur (c’est-à-dire qu’il combine le résultat de plusieurs prédictions) qui regroupe de nombreux arbres de décision, avec quelques modifications utiles:

  1. Le nombre de fonctionnalités qui peuvent être réparties sur chaque nœud est limité à un certain pourcentage du total (appelé hyperparamètre). Cela garantit que le modèle d’ensemble ne repose pas trop sur une fonctionnalité individuelle, et fait utilisation équitable de toutes les fonctionnalités potentiellement prédictives.
  2. Chaque arbre tire un échantillon aléatoire de l’ensemble de données d’origine lors de la génération de ses fractionnements, ajoutant un élément supplémentaire de caractère aléatoire qui empêche surapprentissage.

Les modifications ci-dessus permettent d’éviter que les arbres soient trop fortement corrélés.

Par exemple, voyez ces neuf classificateurs d’arbre de décision ci-dessous:

Neuf classificateurs d’arbres de décision différents

Ces classificateurs d’arbres de décision peuvent être agrégés en un ensemble de forêt aléatoire qui combine leur contribution. Considérez les axes horizontal et vertical des sorties de l’arbre de décision ci-dessus comme des caractéristiques x1 et x2. À certaines valeurs de chaque caractéristique, l’arbre de décision produit une classification de «bleu», «vert», «rouge», etc.

Ces ci-dessus les résultats sont agrégés, via des votes de modèle ou des moyennes, en un seul modèle d’ensemble qui finit par surpasser la sortie de tout arbre de décision individuel.

Le résultat agrégé pour les neuf classificateurs d’arbre de décision est présenté ci-dessous:

Ensemble de forêt aléatoire pour les classificateurs d’arbre de décision ci-dessus

Caractéristique et avantages de Random Forest:

  1. C’est l’un des algorithmes d’apprentissage les plus précis disponibles. Pour de nombreux ensembles de données, il produit un classificateur très précis.
  2. Il fonctionne efficacement sur de grandes bases de données.
  3. Ça peut gérer des milliers de variables d’entrée sans suppression de variable.
  4. Il donne des estimations des variables qui sont importantes dans la classification.
  5. Il génère un interne estimation sans biais de l’erreur de généralisation à mesure que la construction de la forêt progresse.
  6. Il a un méthode efficace pour estimer les données manquantes et maintient l’exactitude lorsqu’une grande partie des données est manquante.

Inconvénients de Random Forest:

  1. Des forêts aléatoires ont été observées overfit pour certains ensembles de données avec des tâches de classification / régression bruyantes.
  2. Pour les données comprenant des variables catégorielles avec un nombre de niveaux différent, les forêts aléatoires sont biaisées en faveur de ces attributs avec plus de niveaux. Par conséquent, les scores d’importance variable de la forêt aléatoire ne sont pas fiables pour ce type de données.

1. Importation de bibliothèques Python et chargement de notre ensemble de données dans un bloc de données

2. Diviser notre ensemble de données en ensemble d’entraînement et ensemble de test

(C’est juste à des fins d’illustration. Il n’est pas nécessaire de diviser l’ensemble de données ici car nous n’avons que 10 valeurs)

3. Création d’un modèle de régression de forêt aléatoire et ajustement de celui-ci aux données d’entraînement

Pour ce modèle, j’ai choisi 10 arbres (n_estimator = 10)

4. Visualisation des résultats de la régression forestière aléatoire

Conclusion :

Alors voilà, nous avons découvert les différents types d’algorithmes d’apprentissage d’ensemble et comment ces algorithmes aident à faire fonctionner Random Forest. Nous avons une compréhension intuitive des fonctionnalités et des avantages de l’utilisation de Random Forest par rapport à d’autres algorithmes d’apprentissage automatique. En dehors de cela, nous avons également vu certains de ses inconvénients ainsi que sa mise en œuvre sur un ensemble de données réel.


Source de l’article

A découvrir