Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Le Caractère Aléatoire de la Forêt | Forêt Aléatoire
Classification Avec Python
course content

Contenu du cours

Classification Avec Python

Classification Avec Python

1. Classificateur K-NN
2. Régression Logistique
3. Arbre de Décision
4. Forêt Aléatoire
5. Comparer les Modèles

book
Le Caractère Aléatoire de la Forêt

La Forêt Aléatoire utilise de nombreux Arbres de Décision, par défaut 100, mais vous pouvez en utiliser encore plus. Générer autant d'Arbres peut être difficile en ne modifiant que les hyperparamètres, c'est pourquoi une approche aléatoire est utilisée. Heureusement, les Arbres de Décision sont sensibles aux changements de données et d'hyperparamètres, ce qui entraîne un ensemble diversifié d'Arbres.

Il y a deux sources de hasard dans la Forêt Aléatoire :

  1. Échantillonnage des données pour chaque arbre ;
  2. Échantillonnage des caractéristiques pour chaque nœud de décision de chaque arbre.

Échantillonnage des données

Pour obtenir un ensemble d'entraînement différent pour chaque arbre de décision dans une forêt, nous utilisons la méthode bootstrap (également appelée bagging).
L'idée est d'échantillonner avec remplacement un ensemble de données de la même taille pour chaque arbre. La taille de l'ensemble de données de chaque arbre est, par défaut, la même que celle de l'ensemble de données initial.
L'échantillonnage avec remplacement peut être considéré comme la sélection aléatoire d'un point de données d'un ensemble d'entraînement, un peu comme tirer une carte d'un jeu de cartes. Cependant, chaque fois qu'un point de données est sélectionné, il n'est pas retiré de l'ensemble d'entraînement, de sorte qu'un point de données peut être choisi plusieurs fois.

De cette façon, chaque arbre est entraîné sur un ensemble de données différent, ce qui rend déjà les arbres diversifiés.
Une autre façon de rendre les arbres plus aléatoires et beaucoup plus rapides est le max_features.

Échantillonnage des caractéristiques

Un Arbre de Décision à chaque Nœud de Décision trouve le meilleur seuil et calcule l'Impureté de Gini pour toutes les caractéristiques. C'est là que la plupart du temps d'entraînement est consacré. Dans une Forêt Aléatoire, seule une partie des caractéristiques est généralement considérée à chaque Nœud.
Dans Scikit-learn, une racine carrée du nombre total de caractéristiques est considérée par défaut. Par exemple, si l'ensemble de données contient 9 caractéristiques, 3 caractéristiques aléatoires seront considérées à chaque Nœud, et si l'ensemble de données en comprend 10000 – 100 seront considérées. Mais le nombre de caractéristiques peut être contrôlé par un paramètre max_features (discuté sous peu).
Ainsi, nous échantillonnons également les caractéristiques pour chaque nœud, mais cette fois avec remplacement, ce qui signifie que la même caractéristique ne peut pas être choisie deux fois pour un même Nœud.

Vous pouvez contrôler le nombre de caractéristiques données à chaque nœud de décision en utilisant max_features.
Par défaut, max_features='sqrt' signifie la racine carrée de toutes les caractéristiques.
Une autre option populaire est max_features='log2', qui prend un log2 de toutes les caractéristiques.
Vous pouvez également définir une proportion ; par exemple, max_features=0.1 signifie que 10% des caractéristiques seront utilisées à chaque nœud de décision.

En résumé, la forêt aléatoire est construite de sorte que chaque arbre ait son propre ensemble de données échantillonné, et chaque nœud de décision des arbres utilise son propre ensemble de caractéristiques échantillonnées.
En conséquence, nous obtenons des arbres de décision suffisamment diversifiés pour améliorer la performance d'un modèle.

Qu'est-ce qui nous aide à atteindre l'aléatoire dans une forêt aléatoire ? Choisissez tout ce qui s'applique.

Qu'est-ce qui nous aide à atteindre l'aléatoire dans une forêt aléatoire ? Choisissez tout ce qui s'applique.

Sélectionnez quelques réponses correctes

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2
We're sorry to hear that something went wrong. What happened?
some-alt