ExtraTreesClassifier est comme un frère de RandomForest mais avec 2 différences importantes.
Nous construisons plusieurs arbres de décision. Pour construire plusieurs arbres, nous avons besoin de plusieurs jeux de données. La meilleure pratique consiste à ne pas former les arbres de décision sur l'ensemble de données complet, mais uniquement sur une fraction de données (environ 80%) pour chaque arbre. Dans une forêt aléatoire, nous tirons des observations avec remplacement. Ainsi, nous pouvons avoir des répétitions d'observations dans une forêt aléatoire. Dans un ExtraTreesClassifier, nous tirons des observations sans les remplacer. Par conséquent, les observations ne seront pas répétées comme dans une forêt aléatoire.
La scission consiste à convertir un nœud parent non homogène en 2 nœuds enfants homogènes (au mieux). Dans RandomForest, il sélectionne le meilleur fractionnement pour convertir le parent en deux nœuds enfants les plus homogènes. Dans un ExtraTreesClassifier, il sélectionne une division aléatoire pour diviser le nœud parent en deux nœuds enfants aléatoires.
Regardons quelques méthodes d'ensemble ordonnées de variance élevée à faible, se terminant par ExtraTreesClassifier.
1. Arbre de décision (grande variance)
Un arbre de décision unique sur-exploite généralement les données dont il tire l’apprentissage, car il n’apprend qu’à partir d’un seul processus décisionnel. Les prévisions d'un seul arbre de décision ne font généralement pas de prévisions précises sur les nouvelles données.
2. Forêt aléatoire (Variance moyenne)
Les modèles de forêt aléatoires réduisent le risque de surajustement en introduisant le caractère aléatoire comme suit:
- construction de plusieurs arbres (n_estimateurs)
- tirer des observations avec remplacement (c.-à-d. un échantillon initialisé)
- diviser les nœuds sur la meilleure répartition entre un sous-ensemble aléatoire des fonctionnalités sélectionnées sur chaque nœud. La scission consiste à convertir un nœud parent non homogène en 2 nœuds enfants homogènes (au mieux).
3. Arbres supplémentaires (faible variance)
Extra Trees ressemble à une forêt aléatoire, en ce sens qu'il crée plusieurs arbres et divise des nœuds à l'aide de sous-ensembles aléatoires d'entités, mais avec deux différences essentielles: il n'amorce pas les observations (c'est-à-dire qu'il échantillonne sans remplacement) et les nœuds sont fractionnés sur des fractionnements aléatoires. pas mieux divise. Donc, en résumé, ExtraTrees:
- construit plusieurs arbres avec bootstrap = False par défaut, ce qui signifie qu’il échantillonne sans remplacement
- les nœuds sont divisés en fonction de divisions aléatoires parmi un sous-ensemble aléatoire des entités sélectionnées sur chaque nœud
Dans Extra Trees, le caractère aléatoire ne provient pas de l'initialisation des données, mais de la division aléatoire de toutes les observations. ExtraTrees est nommé pour (arbres extrêmement randomisés).