2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Table des matières
1. Comprendre les arbres de décision
2. Processus de génération d'arbre de décision
2. Arbre de décision dans Sklearn
1. tree.DecisionTreeClassifier (arbre de classification)
(1) Paramètres de base du modèle
2. tree.DecisionTreeRegressor (arbre de régression)
3. tree.export_graphviz (exporter l'arbre de décision généré au format DOT, dédié au dessin)
3. Avantages et inconvénients des arbres de décision
L'arbre de décision est unMéthodes d'apprentissage supervisé non paramétriques, qui peut sélectionner parmi une série de Les règles de décision sont résumées à partir de données avec des caractéristiques et des étiquettes, et ces règles sont présentées dans une structure arborescente pour résoudre les problèmes de classification et de régression.Les algorithmes d'arbre de décision sont faciles à comprendre, applicables à diverses données et fonctionnent bien pour résoudre divers problèmes. En particulier, divers algorithmes intégrés avec des modèles d'arbres comme noyau sont largement utilisés dans diverses industries et domaines.
L'ensemble de données ci-dessus est Données sur une liste d'espèces connues et leurs catégories .Notre objectif actuel est de diviser les animaux enMammifères et non-mammifères . Sur la base des données collectées, l'algorithme de l'arbre de décision peut calculer l'arbre de décision suivant :
Si nous découvrons maintenant une nouvelle espèce A, qui est un animal à sang froid avec des écailles sur le corps et qui n'est pas vivipare, nous pourrons juger de son espèce grâce à cet arbre de décision. catégorie。
Concepts clés impliqués : nœuds
① Nœud racine : Il n’y a pas de front entrant, mais un front sortant. Contient des questions initiales axées sur les fonctionnalités.
② Nœud intermédiaire : Il existe à la fois des fronts entrants et des fronts sortants. Il n'y a qu'un seul front entrant, mais il peut y avoir plusieurs fronts sortants. Ce sont toutes des questions sur les caractéristiques.
③ Nœud feuille: Il y a des bords entrants et aucun bord sortant. Chaque nœud feuille est une étiquette de catégorie.
④ Nœuds enfants et nœuds parents: Parmi deux nœuds connectés, celui le plus proche du nœud racine est le nœud parent et l'autre est le nœud enfant.
Modules impliqués : sklearn.tree
Paramètres importants:critère
L'arbre de régression mesure la qualité des branches, il existe trois normes prises en charge :
① Entrez "mse" pour utiliser l'erreur quadratique moyenne (MSE), la différence de l'erreur quadratique moyenne entre le nœud parent et le nœud feuille sera utilisée comme critère de sélection des caractéristiques. Cette méthode minimise la perte L2 en utilisant la valeur moyenne du nœud feuille.
② Entrez "friedman_mse" pour utiliser l'erreur quadratique moyenne de Feldman, une métrique qui utilise l'erreur quadratique moyenne modifiée de Friedman pour les problèmes dans les branches latentes.
③ Entrez "mae" pour utiliser l'erreur absolue moyenne MAE (erreur absolue moyenne), cette métrique utilise la valeur médiane des nœuds feuilles pour minimiser la perte L1.
① Le calcul de l'entropie de l'information est plus lent que le coefficient bikini. , car le calcul du coefficient de Gini ne fait pas intervenir de logarithmes.De plus, comme l’entropie de l’information est plus sensible aux impuretés,Lorsque l'entropie de l'information est utilisée comme indicateur, la croissance de l'arbre de décision sera plus « fine », donc pour les données de grande dimension ou les données avec beaucoup de bruit, l'entropie de l'information est facile à surajuster, et le coefficient de Gini fonctionne souvent mieux dans ce cas.
② random_state est utilisé pour définir les paramètres du modèle aléatoire dans la branche. La valeur par défaut est Aucun.Le caractère aléatoire sera plus évident dans les grandes dimensions. Dans les données de faible dimension (telles que l'ensemble de données sur l'iris), le caractère aléatoire apparaîtra à peine. . Entrez n’importe quel nombre entier et le même arbre grandira toujours, permettant au modèle de se stabiliser.
③ Le séparateur est également utilisé pour contrôler les options aléatoires dans l'arbre de décision. Il y a deux valeurs d'entrée. Entrez « meilleur » Bien que l'arbre de décision soit aléatoire lors du branchement, il donnera toujours la priorité aux fonctionnalités les plus importantes pour le branchement (l'importance). peut être consulté via l'attribut feature_importances_),Entrez "aléatoire" et l'arbre de décision sera plus aléatoire lors du branchement, l'arborescence sera plus profonde et plus grande car elle contient plus d'informations inutiles, et l'ajustement à l'ensemble d'apprentissage sera réduit en raison de ces informations inutiles.
④ Sans restrictions, un arbre de décision grandira jusqu'à ce que l'indice mesurant l'impureté soit optimal, ou jusqu'à ce qu'il n'y ait plus de fonctionnalités disponibles. Un tel arbre de décision sera souvent surajusté.Afin que l'arbre de décision ait une meilleure généralisation, l'arbre de décision doit êtretaille . Les stratégies d'élagage ont un impact énorme sur les arbres de décision.La stratégie d'élagage correcte est au cœur de l'optimisation de l'algorithme de l'arbre de décision。
① Facile à comprendre et à expliquer car les arbres peuvent être dessinés et vus.
② Nécessite peu de préparation des données. De nombreux autres algorithmes nécessitent souvent une normalisation des données, la création de variables factices et la suppression des valeurs nulles, etc.maisLe module d'arbre de décision de sklearn ne prend pas en charge le traitement des valeurs manquantes。
③ Utilisation coût de l'arbre(par exemple, lors de la prédiction des données) est le logarithme du nombre de points de données utilisés pour entraîner l'arbre, ce qui représente un coût très faible par rapport à d'autres algorithmes.
④ Capable de traiter simultanément des données numériques et catégorielles,La régression et la classification peuvent être effectuées . D'autres techniques sont souvent spécialisées pour analyser des ensembles de données avec un seul type de variable.
⑤ Capable de gérer des problèmes multi-sorties, c'est-à-dire des problèmes avec plusieurs étiquettes (notez qu'ils se distinguent des problèmes avec plusieurs classifications d'étiquettes dans une seule étiquette)
⑥ est un modèle de boîte blanche , les résultats sont facilement interprétables. Si une situation donnée peut être observée dans le modèle, les conditions peuvent être facilement expliquées grâce à la logique booléenne. En revanche, dans les modèles de boîte noire (par exemple dans les réseaux de neurones artificiels), les résultats peuvent être plus difficiles à interpréter.
⑦ Le modèle peut être vérifié à l'aide de tests statistiques, ce qui permet de considérer la fiabilité du modèle. Il peut fonctionner correctement même si ses hypothèses violent dans une certaine mesure le modèle réel qui a généré les données.
① Les apprenants des arbres de décision peuvent créer des arbres trop complexes qui ne généralisent pas bien les données. C’est ce qu’on appelle le surapprentissage. prune,Mécanismes tels que la définition du nombre minimum d'échantillons requis pour un nœud feuille ou la définition de la profondeur maximale de l'arbreest nécessaire pour éviter ce problème.
② Les arbres de décision peuvent être instables et de petits changements dans les données peuvent conduire à la génération d'arbres complètement différents. Ce problème doit être résolu grâce à un algorithme intégré.
③ L'apprentissage de l'arbre de décision est basé suralgorithme gourmand, cela dépend Optimiser l'optimum local (l'optimal de chaque nœud) pour tenter d'atteindre l'optimum global, mais cette approche ne garantit pas le retour de l'arbre de décision optimal global. Ce problème peut également être résolu par des algorithmes d'ensemble. Dans les forêts aléatoires, les caractéristiques et les échantillons sont échantillonnés de manière aléatoire pendant le processus de branchement.
④ Certains concepts sont difficiles à apprendre car les arbres de décision ne les expriment pas facilement, comme les problèmes de XOR, de parité ou de multiplexeur.
⑤ Si certaines classes des étiquettes sont dominantes, l'apprenant de l'arbre de décision crée des arbres biaisés en faveur des classes dominantes.Par conséquent, il est recommandé qu'avant d'établir un arbre de décisionEnsemble de données équilibré。