L'Aléa de la Forêt
La méthode Random Forest construit un grand nombre d’arbres de décision — généralement autour de 100 ou plus. Générer autant d’arbres différents n’est pas simple en ajustant uniquement les paramètres, c’est pourquoi on introduit de la randomisation. Heureusement, les arbres de décision sont très sensibles aux petites variations des données et des paramètres, ce qui conduit naturellement à une grande diversité d’arbres dans la forêt.
Il existe deux sources de hasard dans une Random Forest :
- Échantillonnage des données pour chaque arbre ;
- Échantillonnage des variables à chaque nœud de décision de chaque arbre.
Échantillonnage des données
Pour créer un ensemble d’entraînement différent pour chaque arbre de décision dans la forêt, on utilise la méthode bootstrap (également appelée bagging). Le principe consiste à échantillonner, avec remise, un ensemble de données de même taille pour chaque arbre.
Par défaut, la taille de l’ensemble de données de chaque arbre correspond à la taille de l’ensemble de données d’origine. L’échantillonnage avec remise peut être vu comme une sélection aléatoire d’un point de données dans l’ensemble d’entraînement — similaire à tirer une carte d’un jeu. Cependant, contrairement au tirage classique, chaque point de données sélectionné n’est pas retiré, donc le même point peut être choisi plusieurs fois.
Chaque arbre est entraîné sur un sous-ensemble différent des données, ce qui contribue déjà à diversifier les arbres. Pour ajouter encore plus de hasard et accélérer l’apprentissage, il est également possible de limiter le nombre de variables prises en compte par chaque arbre lors des divisions.
Échantillonnage des caractéristiques
Dans un arbre de décision standard, chaque nœud examine toutes les caractéristiques disponibles pour trouver la meilleure séparation, généralement en calculant des métriques telles que l’impureté de Gini. Ce processus est coûteux en calcul.
Dans une Forêt Aléatoire, seul un sous-ensemble aléatoire de caractéristiques est considéré à chaque nœud. Cela accélère l’apprentissage et ajoute de l’aléa, ce qui contribue à rendre les arbres plus diversifiés. Une approche courante consiste à utiliser la racine carrée du nombre total de caractéristiques. Par exemple, s’il y a 9 caractéristiques, 3 peuvent être choisies aléatoirement à chaque nœud ; s’il y en a 10,000, environ 100 peuvent être sélectionnées.
Les caractéristiques sont échantillonnées sans remise, donc une même caractéristique n’apparaîtra pas plus d’une fois à un même nœud. Le nombre de caractéristiques à considérer peut être ajusté selon le cas d’utilisation.
Vous pouvez contrôler le nombre de caractéristiques prises en compte à chaque nœud de décision à l’aide du paramètre max_features dans l’implémentation de scikit-learn. Voici quelques choix populaires :
max_features='sqrt': utilise la racine carrée du nombre total de caractéristiques. Il s’agit d’une valeur par défaut courante qui équilibre précision et efficacité ;max_features='log2': utilise le logarithme en base 2 du nombre total de caractéristiques, offrant encore plus d’aléa ;max_features=0.1: utilise 10% des caractéristiques, la valeur étant interprétée comme une proportion.
Vous pouvez également définir max_features sur n’importe quelle proportion comprise entre 0 et 1 (par exemple, max_features=0.1 utilise 10% des caractéristiques).
En résumé, une Forêt Aléatoire est conçue de manière à ce que chaque arbre soit entraîné sur un échantillon différent des données, et que chaque nœud de décision au sein de ces arbres considère un sous-ensemble aléatoire différent de caractéristiques. Cette part d'aléa intégrée conduit à une collection diversifiée d'arbres, ce qui améliore finalement la performance globale du modèle.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 4.17
L'Aléa de la Forêt
Glissez pour afficher le menu
La méthode Random Forest construit un grand nombre d’arbres de décision — généralement autour de 100 ou plus. Générer autant d’arbres différents n’est pas simple en ajustant uniquement les paramètres, c’est pourquoi on introduit de la randomisation. Heureusement, les arbres de décision sont très sensibles aux petites variations des données et des paramètres, ce qui conduit naturellement à une grande diversité d’arbres dans la forêt.
Il existe deux sources de hasard dans une Random Forest :
- Échantillonnage des données pour chaque arbre ;
- Échantillonnage des variables à chaque nœud de décision de chaque arbre.
Échantillonnage des données
Pour créer un ensemble d’entraînement différent pour chaque arbre de décision dans la forêt, on utilise la méthode bootstrap (également appelée bagging). Le principe consiste à échantillonner, avec remise, un ensemble de données de même taille pour chaque arbre.
Par défaut, la taille de l’ensemble de données de chaque arbre correspond à la taille de l’ensemble de données d’origine. L’échantillonnage avec remise peut être vu comme une sélection aléatoire d’un point de données dans l’ensemble d’entraînement — similaire à tirer une carte d’un jeu. Cependant, contrairement au tirage classique, chaque point de données sélectionné n’est pas retiré, donc le même point peut être choisi plusieurs fois.
Chaque arbre est entraîné sur un sous-ensemble différent des données, ce qui contribue déjà à diversifier les arbres. Pour ajouter encore plus de hasard et accélérer l’apprentissage, il est également possible de limiter le nombre de variables prises en compte par chaque arbre lors des divisions.
Échantillonnage des caractéristiques
Dans un arbre de décision standard, chaque nœud examine toutes les caractéristiques disponibles pour trouver la meilleure séparation, généralement en calculant des métriques telles que l’impureté de Gini. Ce processus est coûteux en calcul.
Dans une Forêt Aléatoire, seul un sous-ensemble aléatoire de caractéristiques est considéré à chaque nœud. Cela accélère l’apprentissage et ajoute de l’aléa, ce qui contribue à rendre les arbres plus diversifiés. Une approche courante consiste à utiliser la racine carrée du nombre total de caractéristiques. Par exemple, s’il y a 9 caractéristiques, 3 peuvent être choisies aléatoirement à chaque nœud ; s’il y en a 10,000, environ 100 peuvent être sélectionnées.
Les caractéristiques sont échantillonnées sans remise, donc une même caractéristique n’apparaîtra pas plus d’une fois à un même nœud. Le nombre de caractéristiques à considérer peut être ajusté selon le cas d’utilisation.
Vous pouvez contrôler le nombre de caractéristiques prises en compte à chaque nœud de décision à l’aide du paramètre max_features dans l’implémentation de scikit-learn. Voici quelques choix populaires :
max_features='sqrt': utilise la racine carrée du nombre total de caractéristiques. Il s’agit d’une valeur par défaut courante qui équilibre précision et efficacité ;max_features='log2': utilise le logarithme en base 2 du nombre total de caractéristiques, offrant encore plus d’aléa ;max_features=0.1: utilise 10% des caractéristiques, la valeur étant interprétée comme une proportion.
Vous pouvez également définir max_features sur n’importe quelle proportion comprise entre 0 et 1 (par exemple, max_features=0.1 utilise 10% des caractéristiques).
En résumé, une Forêt Aléatoire est conçue de manière à ce que chaque arbre soit entraîné sur un échantillon différent des données, et que chaque nœud de décision au sein de ces arbres considère un sous-ensemble aléatoire différent de caractéristiques. Cette part d'aléa intégrée conduit à une collection diversifiée d'arbres, ce qui améliore finalement la performance globale du modèle.
Merci pour vos commentaires !