[Python Machine Learning Practical] Decision Tree and Integrated Learning (1)

Uniqe 2021-08-19 23:34:33 阅读数:915

python machine learning practical decision

Résumé: Cette partie présente brièvement le principe et le processus de plusieurs algorithmes de l'arbre de décision. , Ensuite, un programme est écrit pour réaliser l'algorithme de l'arbre de décision ,Sur la basePython Mise en œuvre de l'algorithme de l'arbre de décision avec le paquet d'apprentissage automatique , Enfin, il s'étend de l'arbre de décision à l'apprentissage intégré. .

 


1.Arbre de décision

Arbre de décision en tant qu'algorithme d'apprentissage supervisé commun , Dans le domaine de l'apprentissage automatique, il y a généralement de bonnes performances , Arbre de décision quand vous décidez de faire quelque chose dans la vie , De nombreux facteurs seront pris en considération en fonction de votre expérience , Donc, dans la logique du programme, if~else Empilage de , Le processus de détermination du résultat final est en fait une représentation de l'arbre de décision ,Comme le montre la figure ci - dessous:( Un exemple moins approprié ). D'un point de vue académique, , L'arbre de décision est basé sur la probabilité de ce qui s'est passé dans le passé , Pour évaluer les risques , Prise de décisions , Un arbre généralement construit en fonction des événements passés .

L'arbre de décision est construit à partir de données exprimées par probabilité “ Degré de confusion ”,Ou plutôt“Certitude”, Diviser les données existantes en fonction de l'incertitude de l'information , C'est - à - dire si une certaine partition rend les données moins incertaines , Cette Division a du sens. , Par exemple, l'ensemble de données suivant :

Le travail est - il terminé? La météo Tu veux jouer au basket?
- Oui. C'est clair. - Oui.
Non

C'est clair.

- Oui.
- Oui. Il pleut. Non
Non Il pleut. Non

D'après les données, Le facteur clé pour jouer ou non au basket est le temps. , L'achèvement des devoirs n'a pas beaucoup d'influence sur la question de savoir s'il faut ou non jouer au basket - ball. , Par conséquent, le choix des conditions météorologiques pour diviser les données rend les données finales plus sûres. ( C'est déjà fait. ).

Le concept d'incertitude des données appartient à la connaissance de la théorie de l'information. , Voici une brève introduction :

Il existe habituellement deux mesures de l'incertitude des données de mesure. : Entropie de l'information et coefficient de Gini

(1)Entropie de l'information

L'entropie était destinée à décrire le degré de confusion de la matière. , L'emprunt dans un système d'information représente l'incertitude de l'information. , Il peut être exprimé comme suit: :

Plus l'entropie de l'information est grande, plus l'incertitude de l'information est forte. , Plus il faut d'informations pour le comprendre. ,H(y) Plus petit signifie y Plus c'est régulier. , Plus la certitude est forte .Quandlog La base de 2 On appelle ça un bit. , La base est e Il s'appelait Nate. . L'image de la fonction est la suivante: :

 

(2)Coefficient de Gini

Le coefficient de Gini est la pureté des données , Son expression est :

Le coefficient de Gini représente la probabilité qu'un échantillon sélectionné au hasard dans un ensemble d'échantillons soit mal divisé. . Plus l'indice de Gini est faible, plus la probabilité que les échantillons sélectionnés dans l'ensemble soient mal classés est faible. , C'est - à - dire que plus l'ensemble est pur, ,Au contraire, Plus la collection est impure . Plus le coefficient de Gini est élevé, plus la pureté des données est faible. , Plus l'incertitude est grande , Plus le coefficient de Gini est faible, plus la pureté des données est élevée. , Plus la certitude est forte .

(3)Entropie conditionnelle

Avec l'entropie de l'information, , Bien qu'il puisse refléter l'incertitude des données , Quelles caractéristiques sont choisies pour réduire l'incertitude des données de l'échantillon? ? Le concept d'Entropie conditionnelle est utilisé ici. , L'Entropie conditionnelle est caractéristique XÀ propos dey Taille de la quantité d'information pour , Pour l'Entropie conditionnelle H(y|X)Représentation, La formule de calcul de l'Entropie conditionnelle est :

L'Entropie conditionnelle signifie que XDans le cas deY Incertitude , Plus sa valeur est faible , Moins l'incertitude des données est grande , Signifie caractéristique X Plus utile pour la partition des données .

 (4)Gain d'information

Le gain d'information peut être interprété comme une caractéristique X Valeur de la réduction de l'incertitude de l'information ,X Plus les données sont incertaines, plus elles contribuent à la réduction de la valeur. , Plus le gain d'information est important ,X Plus on peut le diviser. ,Donc,, Le gain d'information peut être calculé comme suit: :

 XDe faireH(y|x)Plus petit., Indique que moins l'incertitude est grande , Plus il peut être utilisé comme caractéristique de partition , Par conséquent, lors de la sélection des caractéristiques , Plus le gain d'information est grand, mieux c'est. .

À propos de l'entropie de l'information 、Entropie conditionnelle、Gain d'information、 L'information mutuelle peut être représentée comme suit: :

 

H(y|x) Est l'Entropie conditionnelle , Représenté dans la variable xDans les conditions de,y Incertitude ;

H(x,y) C'est l'information mutuelle. ,Représentationx,y Somme des informations ;

G(y,x)=H(y)-H(y|x), Indique le gain d'information , Sa valeur et son information mutuelle H(x,y)Même chose..

Voici quelques concepts de base sur la théorie de l'information . Avec ces concepts de base, , L'arbre de décision peut être construit en fonction du gain d'information et du coefficient de Gini ci - dessus. , Il existe de nombreuses catégories de construction d'arbres de décision ,Les plus courants sontID3、C4.5EtCartArbre de décision, Le processus de construction de trois types d'arbres de décision est introduit dans la partie suivante. .

ID3Arbre de décision

ID3 L'arbre de décision utilise le gain d'information pour la sélection des caractéristiques et la Division des données. , Le processus de construction est de sélectionner la caractéristique avec le plus grand gain d'information comme critère de partition à partir du noeud racine à chaque fois , Arrêter jusqu'à ce que les conditions soient remplies . Le gain d'information est calculé comme suit: :

 

  Comparer le gain d'information à chaque valeur propre , Sélectionnez la caractéristique avec le plus grand gain d'information comme base de partition pour diviser l'arbre. , Le processus ci - dessus est décrit brièvement ci - dessous en combinaison avec des données spécifiques. .Emprunts《PythonApprentissage des machines》 Données du livre ,Les données sont les suivantes:

 

 

Données partagées 4Caractéristiques,Respectivement:{Couleur,Taille, Attributs du personnel ,Action},CatégorieY Pour les résultats {Explosion, Pas d'explosion. }, Ensuite, les noeuds sont divisés pour la première fois à partir de 4 Sélectionnez l'une des caractéristiques comme critère de partition , Calculer le gain d'information pour chaque caractéristique :

D'abordY Entropie de l'information H(y):

Puis calculer l'Entropie conditionnelle des quatre caractéristiques :

Par conséquent, la taille ou l'action est choisie comme critère de division des noeuds. , Ici, vous pouvez choisir la taille du ballon comme critère de partition des données , Découper les données en deux parties :

Supprimer l'attribut taille du ballon , Les ensembles de données restants sont: :

Petit ballon Grand ballon

 

Ensuite, les deux noeuds sont séparés en fonction des trois autres caractéristiques NodeAEtNodeB Diviser à nouveau ,Et ainsi de suite., Arrêter de diviser jusqu'à ce qu'un noeud enfant appartienne à la même catégorie , La structure finale de l'arbre obtenu est la suivante: :

 

Ce qui précède est ID3 Processus algorithmique de l'arbre de décision ,Et pourtantID3 L'algorithme présente certains défauts , Lorsqu'il choisit le gain maximal d'information comme critère de partition, il préfère souvent choisir la caractéristique avec plus de valeur comme base de partition. , Comme un ensemble d'échantillons , Nombre d'échantillons 15, L'une de ces caractéristiques est: 15 Valeurs différentes , Ensuite, l'Entropie conditionnelle dans le calcul de l'Entropie conditionnelle est 0, Gain maximal d'information , C'est ce qui se passe quand les noeuds se divisent , Va se séparer. 15 Branches , Former un arbre de décision petit et gras , Ce n'est pas raisonnable. , C'est exactement ça. ID3 Pourquoi ne pas utiliser pour diviser les caractéristiques continues ,Donc, dansID3 Un algorithme amélioré est proposé sur la base de ,Ceci estC4.5Algorithmes.

C4.5Arbre de décision

C4.5Oui.ID3 Sur la base de l'arbre de décision , Éviter l'irrationalité du choix de la caractéristique comme critère de division en raison de sa valeur plus élevée ,Donc,,C4.5 Utiliser le rapport de gain d'information comme base pour diviser l'arbre , La formule de calcul du rapport de gain d'information est la suivante: :

Diviser les caractéristiques en fonction du gain d'information X Entropie de l'information , Lorsque les caractéristiques X Plus de valeur ,AlorsH(X) La valeur de , Cela réduit le rapport de gain d'information , Le processus de calcul détaillé n'est pas répété. .

En même tempsC4.5 Peut être utilisé pour travailler avec des caractéristiques continues , La méthode consiste à trier les valeurs d'une caractéristique par taille :a1,a2,...,am, Puis faites la moyenne des deux nombres adjacents , Diviser les caractéristiques en m-1Valeurs.Pour celam-1Un point, Calculer le rapport de gain d'information lorsque ce point est utilisé comme point de classification binaire , Choisir le point avec le rapport de gain d'information le plus élevé comme point de classification discret binaire de la caractéristique continue ,Attention!, Contrairement aux caractéristiques discrètes , Si le noeud actuel est un attribut continu , Cet attribut peut être suivi d'une division ( À étudier , Des cas de réutilisation de variables discrètes ont été observés. ).Et pourtant, Cette approche présente également certains inconvénients. , Lors de la bifurcation binaire , Peut - être un peu plus petit. NodeSors de là., Et l'autre Node Ce serait énorme. , Cette caractéristique peut être divisée à nouveau lors d'une division ultérieure. , Et un arbre plus profond se forme continuellement vers le bas , En fin de compte, le phénomène de surajustement se produit. .

CARTArbre de décision

CART La règle de division de l'arbre de décision utilise la taille du coefficient de Gini comme critère de sélection des caractéristiques et de division de l'arbre. , L'utilisation de cet indice peut simplifier le calcul logarithmique dans le modèle d'entropie , Tout en conservant le sens de l'entropie .Précédemment mentionné Plus le coefficient de Gini est élevé, plus les données sont impures. ,Au contraire., Plus le coefficient de Gini est faible, plus les données sont pures. , Le choix des caractéristiques est meilleur , Le coefficient de Gini est calculé comme suit: :

  Pour les caractéristiques X,HypothèsesXOui.2 Valeurs différentes ,SelonX Diviser l'échantillon en deux D1EtD2, Alors oui. :

Ce qu'il faut dire ici, c'est que,CART L'arbre de décision est un arbre binaire forcé , C'est - à - dire indépendamment des caractéristiques X Combien de valeurs y a - t - il? , Deux noeuds seulement se séparent lorsqu'ils se séparent ,Ceci est lié àID3EtC4.5C'est différent,InID3EtC4.5Moyenne, Si caractéristique XOui.3Valeurs, Lorsque vous sélectionnez cette fonction pour diviser, trois noeuds sont divisés ,EtCART Équivalent moyen ovrDes idées. Comme les caractéristiques XValeur{A1,A2,A3}, Donc quand vous divisez les caractéristiques, , Choisissez. {A1}、{A2,A3}Et{A2}、{A1,A3}Et{A3}、{A1,A2} Calculer le coefficient de Gini séparément en combinant , Si vous Calculez {A2}、{A1,A3} Le coefficient de Gini combiné est le plus faible , Il se divisera en deux noeuds , À ce stade, en raison des caractéristiques A Pas complètement séparé , Lors d'une scission ultérieure , Cette fonctionnalité sera réutilisée davantage .

En même tempsCART L'algorithme peut être utilisé non seulement pour la classification , Vous pouvez également effectuer une régression des données continues ,AppeléCART Arbre de régression . Dans l'arbre de classification, le coefficient de Gini est utilisé pour mesurer , Et dans l'arbre de régression, , Utiliser des mesures communes de la variance , C'est - à - dire pour les caractéristiques X, Si le point de division est xp,xp Diviser les données en deux D1EtD2, Pour minimiser la variance de la somme des deux données ,C'est - à - dire::

  Parmi euxcjp Moyenne des sorties pour deux échantillons de données .

La prédiction de l'arbre de régression est finalement basée sur la moyenne ou la médiane des noeuds foliaires. .Ce qui suitCART Processus de construction de l'arbre de décision de l'algorithme :

"""

L'entrée est un ensemble d'entraînement D, Seuil du coefficient de Gini , Seuil du nombre d'échantillons .

La sortie est un arbre de décision T

  • Pour l'ensemble de données du noeud courant D, Si le nombre d'échantillons est inférieur au seuil prédéfini ou s'il n'y a pas de caractéristiques , Renvoie le Sous - arbre de décision , Arrêter la récursion ;
  • Calculer le coefficient de Gini de l'ensemble de données , Si le coefficient de Gini est inférieur à la valeur prédéfinie , Renvoie le Sous - arbre de décision , Arrêter la récursion ;
  • Calcule l'ensemble de données de chaque paire de valeurs de caractéristiques pour chaque caractéristique existante du noeud courant D Coefficient de Gini , Choisir la valeur caractéristique du coefficient de Gini le plus faible x Et ses caractéristiques X, Selon cette valeur propre et la caractéristique , Ensemble de données D Divisé en deux parties D1EtD2, Diviser en deux noeuds Node1EtNode2, Noeuds gauche et droit ;
  • C'est exact.Node1EtNode2 Récursion des processus ci - dessus ,Générer un arbre de décision

"""

Coupe de l'arbre de décision

Devant. C4.5 Il est mentionné que la partition des données continues se développera progressivement en arbres profonds. , Provoque un ajustement excessif ,Même chose., Pour la construction d'autres arbres , En théorie, tant que l'arbre est assez profond , Pour adapter complètement les données de formation , Mais cela crée également la capacité de généralisation du modèle sur les données d'essai , Provoque un ajustement excessif . Par conséquent, l'opération de taille est nécessaire lors de la construction de l'arbre de décision ou après la construction. , Prévention de l'ajustement excessif . Le cisaillement peut être divisé en pré - cisaillement et post - cisaillement .

Le pré - cisaillement est en fait une condition préalable pour que les noeuds cessent de se diviser pendant la Division de l'arbre. , Souvent rare dans les applications pratiques .

Après la coupe, c'est - à - dire après la formation de l'arbre. , Couper les noeuds supplémentaires de l'arbre , Réduire la complexité du modèle . La pratique habituelle est divisée en deux étapes. :(1) Ajouter la régularisation , C'est - à - dire tenir compte de l'incertitude et de la complexité du modèle , Plus une perte , Nouvelle mesure en tant que nouvelle norme distincte , Effectuer des opérations de coupe . Voici la deuxième façon .(2) Utilisation de la validation croisée , Arbre de décision après toutes les coupes possibles , Vérifier la capacité de généralisation de l'arbre de décision après coupe , Choisissez le meilleur. ;

Tout d'abord, considérez la perte de mesure lors de la coupe. , Pour n'importe quel noeud t Un sous - arbre de T, La fonction de perte est exprimée comme suit: :

Parmi euxα Représente les paramètres de régularisation , Comme pour la régression linéaire ,C(Tt) Représente la mesure originale , Coefficient de Gini dans l'arbre de classification , Variance de somme dans l'arbre de régression ,|Tt| Pour les sous - arbres T Nombre de noeuds foliaires .α=0 Représente non coupé ,α→∞Heure, Indique que seul le noeud racine est conservé .

Si vous le coupez maintenant , Conserver uniquement le noeud racine , Alors la perte devient :

 

  Quandα=0 Ou une heure. ,Oui.,Quandα Apparaît lorsqu'il est augmenté dans une certaine mesure :

En ce momentα Satisfaire à la formule suivante :

Pour le moment TtEtT A la même fonction de perte ,MaisT Moins de noeuds , Pour que vous puissiez Tt Effectuer des opérations de coupe , Couper les autres noeuds foliaires ,Tt Est devenu un noeud foliaire .

Réglage différent par extraction α, De la taille à la taille 1 Noeuds racine ,Notez comme suit: {T0,T1,T2,...,Tn}, Choisir le meilleur arbre de décision comme résultat final par Validation croisée .

L'algorithme de coupe de l'arbre de décision est donné ci - dessous. :

"""

Entrée établie et complète CARTArbre de décisionT0

Arbre de décision optimal Tα

  • Initialisationk=0,T=T0, Le Sous - ensemble optimal est T={T0},α=∞;
  • Calculer les noeuds internes de bas en haut à partir des noeuds de feuilles t Fonction de perte d'erreur de formation Cα(Tt), Nombre de noeuds foliaires |Tt|, Et les seuils de régularisation α:

  • αkmin; Sous - arbre d'accès descendant t Noeud interne de , Si elle est satisfaite :

  Pour couper , Et détermine le noeud foliaire tDe, Si l'arbre de classification , La catégorie est la plus probable , Si l'arbre de retour , Est la moyenne de toutes les sorties de l'échantillon , Voilà. αk Sous - arbre optimal correspondant Tk, Sera placé dans un sous - arbre TkEnsembleTMoyenne;

  • k=k+1,T=Tk,SiT Arbre qui n'est pas composé uniquement de noeuds racine , Effectuer les étapes ci - dessus Récursivement , Sinon, nous obtenons l'ensemble optimal de sous - arbres T;
  • Utilisation de la validation croisée T Sélectionner le Sous - arbre optimal Tα.

"""

 

 


 

Jusqu'ici., Principes de base de l'algorithme de l'arbre de décision , Il s'agit d'un grand nombre de principes qui peuvent nécessiter une excavation plus approfondie. , Le niveau actuel est arrivé en premier. , On verra ça plus tard. , Autres ajouts , Ensuite, l'arbre de décision sera logiquement écrit selon le principe de l'algorithme , Ensuite, à l'aide d'un certain nombre d'ensembles de données pour construire des modèles et des implémentations , La dernière partie présente la relation entre l'arbre décisionnel et l'apprentissage intégré. , Le principe de l'apprentissage intégré est brièvement introduit. .

RÉFÉRENCES:

《PythonApprentissage des machines》

Principes de l'algorithme de l'arbre de décision Blog https://www.cnblogs.com/pinard/p/6053344.html

Copyright:Cet article est[Uniqe]Établi,Veuillez apporter le lien original pour réimprimer,remercier。 https://fra.fheadline.com/2021/08/20210819233030354k.html