Réponse
Oui, il y a une différence. Dans sklearn, si vous mettez en sac des arbres de décision, vous finissez toujours par utiliser toutes les fonctionnalités avec chaque arbre de décision. Cependant, dans les forêts aléatoires, vous utilisez un sous-ensemble de fonctionnalités.
La documentation officielle de sklearn sur les méthodes dassemblage aurait pu être un peu plus claire sur la différence, voici ce quil dit:
- « Lorsque les échantillons sont prélevés avec remplacement, la méthode est connue sous le nom densachage »
- » Dans les forêts aléatoires (voir les classes RandomForestClassifier et RandomForestRegressor), chaque arbre de lensemble est construit à partir dun échantillon tiré avec remplacement (cest-à-dire un échantillon bootstrap) de lensemble dapprentissage . «
Il semblerait donc quil ny ait aucune différence si vous mettez en sac des arbres de décision, non? Il savère que la documentation indique également:
« De plus, lors de la division de chaque nœud lors de la construction dun arbre, la meilleure division est trouvée soit à partir de toutes les entités dentrée ou dun sous-ensemble aléatoire de taille max_features
. «
Voici donc une autre façon dintroduire le caractère aléatoire, en limitant le nombre dentités au niveau des divisions. En pratique, il est en effet utile de régler max_features
pour obtenir un bon ajustement.
Commentaires
- Ce ' nest pas chaque arbre qui reçoit un sous-ensemble de caractéristiques candidates, il ' est chacun split .
- @Matthew Drury Merci pour le point, corrigé.