Vous êtes sur la page 1sur 25

Leçon6

Arbre de Decision

1. Définitions
2. Apprentissage avec les arbres de décision
3. Algorithme : ID3 (Iterative Dichotomiser 3)
4. CART : Arbres de classification et régression
5. Exemple d’application
6. Extensions
1. Définitions

En théorie des graphes, un arbre est un graphe non orienté, acyclique et connexe. L’ensemble des nœuds se
divise en trois catégories :
• Nœud racine (l’accès à l’arbre se fait par ce nœud),
• Nœuds internes : les nœuds qui ont des descendants (ou enfants), qui sont à leur tour des nœuds,
• Nœuds terminaux (ou feuilles) : nœuds qui n’ont pas de descendant.

Les arbres de décision (AD) sont une catégorie d’arbres utilisée dans l’exploration de données et en
informatique décisionnelle. Ils emploient une représentation hiérarchique de la structure des données sous
forme des séquences de décisions (tests) en vue de la prédiction d’un résultat ou d’une classe.
Chaque observation, qui doit être attribuée à une classe, est décrite par un ensemble de variables qui sont
testées dans les nœuds de l’arbre.
Les tests s’effectuent dans les nœuds internes et les décisions sont prise dans les nœuds feuille.

Rym Besrour 2
1. Définitions

Exemples

Rym Besrour 3
2. Apprentissage avec les arbres de décision

On considère d’abord le problème de classification. Chaque élément 𝑥 de la base de données est représenté
par un vecteur multidimensionnel 𝑥1 , 𝑥2 , … , 𝑥𝑛 correspondant à l’ensemble de variables descriptives du
point. Chaque nœud interne de l’arbre correspond à un test sur une des variables 𝑥𝑖 ∶
• Variable catégorielle : génère une branche (un descendant) par valeur de l’attribut,
• Variable numérique : test par intervalles (tranches) de valeurs.

Les feuilles de l’arbre spécifient les classes.

Une fois l’arbre construit, classer un nouvel candidat se fait par une descente dans l’arbre, de la racine vers
une des feuilles (qui encode la décision ou la classe). A chaque niveau de la descente on passe un nœud
intermédiaire où une variable 𝑥𝑖 est testée pour décider du chemin (ou sous-arbre) à choisir pour continuer la
descente.

Rym Besrour 4
2. Apprentissage avec les arbres de décision

Principe de la construction
• Au départ, les points de la base d’apprentissage sont tous placés dans le nœud racine. Une des variables de
description des points est la classe du point (la « vérité terrain ») ; cette variable est dite « variable cible ».
• La variable cible peut être catégorielle (problème de classement) ou valeur réelle (problème de régression).
• Chaque nœud est coupé (opération split) donnant naissance à plusieurs nœuds descendants. Un élément
de la base d’apprentissage situé dans un nœud se retrouvera dans un seul de ses descendants.
• L’arbre est construit par partition récursive de chaque nœud en fonction de la valeur de l’attribut testé à
chaque itération (top-down induction). Le critère optimisé est la homogénéité des descendants par rapport
à la variable cible. La variable qui est testée dans un nœud sera celle qui maximise cette homogénéité.
• Le processus s’arrête quand les éléments d’un nœud ont la même valeur pour la variable cible
(homogénéité).
Rym Besrour 5
3. Algorithme ID3

L’algorithme commence par le placement de tous les exemples d’apprentissage dans le nœud racine. Ensuite,
chaque nœud est coupé sur un des attributs restants (qui n’a pas encore été testé). Le choix de cet attribut se
fait à travers une mesure d’homogénéité par rapport à la variable cible. Cette mesure est le gain
d’information obtenu par le découpage.
On suppose que la variable cible a 𝑚 valeurs distinctes (les étiquettes de classe). Pour un nœud 𝑆 (interne ou
feuille) on calcule son entropie par rapport à la cible comme suit :
 Partitionner 𝑆 sur les valeurs de la cible en 𝑚 groupes : 𝐶1 , … , 𝐶𝑚 .
 Calculer 𝑝𝑖 , 𝑖 = 1 … 𝑚, la probabilité qu’un élément de 𝑆 se trouve dans 𝐶𝑖 (𝑝𝑖 ≈ 𝐶𝑖 / 𝑆 ou 𝐶𝑖 est la
taille du groupe 𝐶𝑖 ).
𝑚
 𝐻 𝑆 =− 𝑖=1 𝑝𝑖 log(𝑝𝑖 ) est l’entropie de 𝑆.

Rym Besrour 6
3. Algorithme ID3

𝐻 𝑆 mesure l’écart de la distribution de la variable cible par rapport à la distribution uniforme :


• 𝐻 𝑆 = 0 si 𝑆 est homogène (tous les éléments sont dans la même classe : toutes les probabilités 𝑝𝑖
sont égales à 0).
• 𝐻 𝑆 = 𝑚𝑎𝑥 si toutes les probabilités 𝑝𝑖 sont égales (tous les groupes 𝐶𝑖 ont la même taille : 𝑝1 =
1
⋯ = 𝑝𝑛 = 𝑚).

Pour calculer le gain d’information dans un nœud interne 𝑆 sur l’attribut 𝑎 ∶


• Partitionner 𝑆 sur les valeurs de l’attribut 𝑎 en 𝑘 sous-groupes : 𝑆1 , … , 𝑆𝑘 (𝑘 est le nombre de valeurs
distinctes de l’attribut 𝑎),
• 𝑝𝑖 : la probabilité qu’un élément de 𝑆 appartient à 𝑆𝑖
𝑘
• Calculer 𝐺𝐼 𝑆; 𝑎 = 𝐻 𝑆 − 𝑖=1 𝑝𝑖 𝐻(𝑆𝑖 ) le gain d’information sur l’attribut 𝑎.

Rym Besrour 7
3. Algorithme ID3

Avec ces précisions, l’algorithme ID3 commence par la racine. Ensuite pour le nœud 𝑆 en train d’être testé :
 Calculer le gain d’information pour chaque attribut par encore utilisé,
 Choisir l’attribut 𝑎 de gain d’information maximal,
 Créer un test (décision) sur cet attribut dans le nœud 𝑆 et générer les sous-nœuds 𝑆1 , … , 𝑆𝑘
correspondant à la partition sur l’attribut choisi 𝑎,
 Récurrence sur les nœuds qui viennent d’être crées.

Sortie de la récursivité
• Tous les éléments de 𝑆 sont dans la meme classe (𝐻 𝑆 = 0) ∶ 𝑆 devient nœud feuille,
• Pas d’attributs non utilisés : nœud feuille sur la classe majoritaire,
• 𝑆 = ∅ : nœud feuille sur la classe majoritaire du parent (ce cas est nécessaire pour le classement de
nouveaux échantillons)
Rym Besrour 8
3. Algorithme ID3

Problèmes de l’algorithme ID3


 Solution globale non garantie (la solution trouvée est un optimum local)
une amélioration possible : backtracking pour tenter d’obtenir une meilleure solution.
 Sur-apprentissage (overfitting) : pour l’éviter il faut préférer les arbres de taille réduite (problème
d’élagage de l’arbre).
 Pas adapté pour des données numériques continues (ces données doivent être quantifiées avant
d’être utilisée avec cet algorithme).

Rym Besrour 9
3. Algorithme ID3

C4.5 (Iterative Dichotomiser 4.5)


 Élagage après la construction de l’arbre : C4.5 utilise une procédure qui permet de transformer en
feuilles des sous-arbres qui ne contribuent à un meilleur résultat (score « accuracy ») de
l’apprentissage.
 Limitation de la profondeur de l’arbre par la taille minimale du nœuds (paramètre de construction).
 Chaque attribut peut avoir un poids (coût).
 Traitement des variables continues en cherchant des seuils qui maximisent le gain d’information
(découpage binaire).
 Traitement des valeurs manquantes.

Rym Besrour 10
3. Algorithme ID3

C5.0 (Iterative Dichotomiser 5.0)


 Version commerciale.
 Vitesse et utilisation mémoire.
 Optimisé pour des bases de données de très grande taille.
 Arbres plus petits.
 Pondération des cas et erreurs de classement.

Rym Besrour 11
4. CART

• L’acronyme CART correspond à deux situations bien distinctes selon que la variable à expliquer, modéliser
ou prévoir est qualitative (classification) ou quantitative (régression).

• Très complémentaires des méthodes statistiques plus classiques : analyse discriminante, régression
linéaire, les solutions obtenues sont présentées sous une forme graphique simple à interpréter, même
pour des néophytes, et constituent une aide efficace pour l’aide à la décision. Elles sont basées sur une
séquence récursive de règles de division, coupes ou splits.

Rym Besrour 12
4. CART

Les principales différences sont les suivantes :


 CART pose seulement de questions-test binaires (arbres binaires).
 Fonctionne pour des attributs aux valeurs continues (variables quantitatives).
 CART cherche tous les attributs et tous les seuils pour trouver celui qui donne la meilleure
homogénéité du découpage.
Quand un nœud interne 𝑆 est coupé sur l’attribut 𝑗, seuil 𝑎𝑗 , il donne naissance à deux descendants :

 Sous-nœud gauche 𝑆𝑔 (𝑝𝑔 ≈ 𝑆𝑔 / 𝑆 ) qui contient tous les éléments qui ont les valeurs de l’attribut
𝑣𝑗 ≤ 𝑎𝑗 ,
 Sous-nœud droit 𝑆𝑑 (𝑝𝑑 ≈ 𝑆𝑑 / 𝑆 ) qui contient tous les éléments qui ont les valeurs de l’attribut
𝑣𝑗 ≥ 𝑎𝑗 .

Rym Besrour 13
4. CART

Fonction de gain
𝑛

𝐺𝑎𝑖𝑛 𝑝, 𝑡 = 𝑖 𝑝 − 𝑃𝑗 𝑖(𝑝𝑗 )
𝑗=1

𝑡 : le test (la variable)


𝑛 : le nombre de modalités de 𝑡.
𝑖 : la fonction pour mesurer le degré de désordre
𝑃𝑗 : la proportion des individus à la position 𝑝 qui vont en position 𝑝𝑗

On cherche le test qui maximise le gain.

Rym Besrour 14
4. CART

Mesure du désordre : GINI

Pour un nœud 𝑡 donné : 𝐺𝐼𝑁𝐼 𝑡 = 1 − 2


𝑗𝑝 𝑗𝑡

Avec 𝑝 𝑗 𝑡 la fréquence relative de la classe 𝑗 au nœud 𝑡.

Mesure de l’homogénéité : Entropie

Pour un nœud 𝑡 donné : 𝐸𝑛𝑡𝑟𝑝𝑜𝑦 𝑡 = − 𝑗𝑝 𝑗 𝑡 𝑙𝑜𝑔2 𝑝 𝑗 𝑡

Minimum =0 quand tous les enregistrements appartiennent à une classe.

Rym Besrour 15
4. CART

Classification de nouvelles données :


 Parcours de l’arbre pour arriver dans une feuille.
 Pour la classification : on considère la classe dominante (majoritaire) dans la feuille.
 Pour la régression : on considère les valeurs dominantes dans la feuilles.

Avantages CART :
 Forme non paramétrique.
 Pas de sélection de variables nécessaire.
 Invariable aux transformations monotones des attributs.
 Bonne gestion des ouliers.

Rym Besrour 16
4. CART

Hyper paramètres de régularisation


 Les arbres de décision font très peu d’hypothèses sur les données d’entrainement.

En l’absence de contraintes, la structure de l’arbre s’adaptera aux données d’entrainement en les ajustant
le mieux possible, voire en les sur-ajustant.

 Pour éviter de sur-ajuster les données d’entrainement, on doit restreindre la liberté de l’arbre de
décision durant l’entrainement.

 Dans Scikit-Learn, c’est l’hyperparamètre max_depth qui permet de contrôler cette profondeur. La
valeur par défaut est None, qui signifie qu’il n’y a pas de limite.

Rym Besrour 17
4. CART

La classe DecisionTreeClassifier possède quelques autres paramètres qui restreignent de manière similaire la
forme de l’arbre de décision :

• Min_samples_split : nombre minimum d’observations que doit comporter un nœud avant qu’il puisse
être divisé.

• Min_samples_leaf : nombre minimum d’observations qu’un nœud terminal doit avoir.

• Min_weight_fraction_leaf : identique à min_samles_leaf mais exprimé sous forme d’une fraction du


nombre total d’observations pondérées.

• Max_leaf_nodes : nombre maximum de nœuds terminaux.

• Max_features : nombre maximum de caractéristiques évaluées à chaque nœud en vue de sa division.

Rym Besrour 18
5. Exemple d’application
Données : ensemble de clients d’une banque
On veut construire un modèle Arbre de Décision permettant de prédire si un client est intéressé d’ouvrir un
compte bancaire en ligne ou non.
On suppose qu’on arrête la subdivision uniquement lorsque les nœuds sont purs (impureté Gini)

Rym Besrour 19
Correction détaillée

On remarque sur les 8 clients, 3 correspondent à la classe « Oui » et 5 à la classe « Non ».


Le Gini de l’ensemble S (à la racine de l’arbre) est donc égale à :
2 2
5 3
𝐺 𝑆 =1− − = 0.47
8 8
Pour connaitre quel attribut on doit choisir comme test au niveau de la racine de l’arbre, il faut calculer le
Gini sur chacun des attributs : « Montant », « Age », « Résidence » et « Etude ».

Calcul du Gini sur l’attribut « Montant » :


Gini(Montant)=proba(faible)*Gini(S,faible)+proba(moyen)*Gini(S, moyen)+proba(élevé)*Gini(S, élevé)
2 2 2 2 2
3 2 1 3 2 1 2 2
𝐺𝑖𝑛𝑖 𝑀 = ∗ 1 − − + ∗ 1− − + ∗ 1− = 0.336
8 3 3 8 3 3 8 2

Rym Besrour 20
Calcul du Gini sur l’attribut « Age » :
Gini(Age)=proba(jeune)*Gini(S,jeune)+proba(moyen)*Gini(S, moyen)+proba(agé)*Gini(S, agé)
1 1 2 4 2 2 2 2 3 3 2
𝐺𝑖𝑛𝑖 𝐴 = ∗ 1 − + ∗ 1− − + ∗ 1− =0.25
8 1 8 4 4 8 3

Calcul du Gini sur l’attribut « Résidence » :


Gini(Résidence)=proba(bourg)*Gini(S,bourg)+proba(village)*Gini(S, village)+proba(ville)*Gini(S, ville)
2 2 2 2 2 2
3 2 1 2 1 1 3 2 1
𝐺𝑖𝑛𝑖 𝑅 = ∗ 1 − − + ∗ 1− − + ∗ 1− − = 0.461
8 3 3 8 2 2 8 3 3

Calcul du Gini sur l’attribut « Etude » :


Gini(Etude)=proba(oui)*Gini(S,oui)+proba(non)*Gini(S, non)
2 2 2
5 3 2 3 3
𝐺𝑖𝑛𝑖 𝐸 = ∗ 1 − − + ∗ 1− = 0.3
8 5 5 8 3
Rym Besrour 21
Variable test Gain d’information
Montant (M) 0.47-0.336 = 0.134
Age (A) 0.22
Résidence ® 0.010
Etudes 0.17

On constate que le plus grand gain est obtenu sur l'attribut "Age". C'est donc cet attribut qui est choisi
comme test à la racine de l'arbre. Nous obtenons l'arbre partiel suivant :

Rym Besrour 22
L’étape suivante :
– Ignorer les valeurs (les supprimer du tableau de valeurs) pour laquelle Age = jeune et Age = âgé (pour les
lignes : 3, 5, 6, 7)
– Ne pas prendre en considération la variable Age A (retirer la colonne Age).
Puis, continuer la construction des autres niveaux selon les variables restantes M, R et E.

Construction du second niveau :


On remarque sur les 4 clients restant, 2 correspondent à la classe « Oui » et 2 à la classe « Non ».
Le Gini de l’ensemble S (à la racine de l’arbre) est donc égale à :
2 2
2 2
G S =1− − = 0.5
4 4

Calcul du Gini sur l’attribut « Montant » :


2 2 2 2
2 1 1 1 1 1 1
𝐺𝑖𝑛𝑖 𝑀 = ∗ 1 − − + ∗ 1− + ∗ 1− = 0.25
4 2 2 4 1 4 1
Rym Besrour 23
Calcul du Gini sur l’attribut « Résidence » :
2 2 2 2
2 1 1 2 1 1
𝐺𝑖𝑛𝑖 𝑅 = ∗ 1 − − + ∗ 1− − = 0.5
4 2 2 4 2 2

Calcul du Gini sur l’attribut « Etude » :


2 2
2 2 2 2
𝐺𝑖𝑛𝑖 𝐸 = ∗ 1 − + ∗ 1− =0
4 2 4 2

Rym Besrour 24
6. Extensions

Il existe plusieurs extensions développées principalement pour résoudre le problème de la variance


élevée des estimateurs fournis par les arbre de décision.

Dans le chapitre suivant on présentera :

• Bagging decision trees : construction de plusieurs arbres par re-échantillonnage avec remise ;
prise de décision par vote consensuel.

• Forêts d’arbres décisionnels (ou forêts aléatoires) : apprentissage sur de multiples arbres de
décision entraînés sur des sous-ensembles de données légèrement différents.

Rym Besrour 25

Vous aimerez peut-être aussi