Académique Documents
Professionnel Documents
Culture Documents
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.
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
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
Rym Besrour 9
3. Algorithme ID3
Rym Besrour 10
3. Algorithme ID3
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
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
Rym Besrour 14
4. CART
Rym Besrour 15
4. CART
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
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é.
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
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
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.
Rym Besrour 24
6. Extensions
• 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