Vous êtes sur la page 1sur 28

Chapitre 5

Arbres de Décision

I. Définition
II. Apprentissage par arbres de décision
III. Algorithme d’entrainement CART
IV. Impureté Gini ou entropie?
V. Hyperparamètres de régularisation
VI. Exemples
I. Définition

o Tous comme les SVM, les arbres de décision sont des algorithmes d’apprentissage
automatique polyvalents : classification et régression.

o Les arbres de décision est une classe d’algorithmes d’apprentissage se basant sur la
représentation des choix sous la forme graphique d’un arbre avec les différentes
décisions de classification placées dans les feuilles.

o 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.

Rym Besrour 2
I. Définition

o 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.

o 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.

o Exemple de problème adapté à un approche par arbres de décision :


• Comment répartir une population d’individus (e.g. clients, produits, utilisateurs,
etc.) en groupes homogènes selon un ensemble de variables descriptives (e.g. âge,
temps passé sur un site Web, etc.) et en fonction d’un objectif fixé (variable de sortie
; par exemple : chiffre d’affaires, probabilité de cliquer sur une publicité, etc.).

Rym Besrour 3
I. Définition

Accorder ou non un prêt bancaire. Chaque Classement sur la base de données des
individu est évalué sur un ensemble de variables survivants du Titanic
testées dans les nœuds internes. Les décisions
sont prises dans les feuilles
Rym Besrour 4
II. Apprentissage avec arbres de décision

Problème de classification
o 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.
o Chaque nœud interne de l’arbre correspond à un test fait 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.
o 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.
A chaque niveau de la descente on passe un nœud
intermédiaire où une variable 𝑥𝑖 est testée pour
décider du chemin à choisir pour continuer la
descente
Rym Besrour 5
II. Apprentissage avec arbres de décision

Comment entrainer un arbre de décision ?

Rym Besrour Fig : Arbre de décision IRIS 6


II. Apprentissage avec arbres de décision
Comment effectuer des prédictions ?

Supposons qu’on a une fleur d’iris et qu’on veut la classer.


On commence par le nœud racine (profondeur 0, en haut) : ce nœud demande si la
longueur du pétale de la fleur est inférieure à 2,45 cm.
• Si c’est le cas, on descend vers le nœud inférieur gauche (profondeur 1, gauche).
Dans ce cas, il s’agit d’un nœud terminal (ou feuille : n’ayant pas de nœuds fils),
il ne pose aucune question : il ne reste plus qu’à regarder quelle est la classe
prédite pour ce nœud, et l’arbre de décision prédit que votre fleur est un Iris
Setosa (class=sitosa)
• Sinon, on descend alors vers le nœud inférieur droit (profondeur 1, droite) qui
n’est pas un terminal, et donc une autre question se pose : la largeur du pétale
est-elle inférieure à 1,75 cm?
• Si c’est le cas, alors notre fleur est un Iris Versicolor (profondeur2, gauche)
• Sinon, c’est un Iris Virginica (profondeur2, droite)

Rym Besrour 7
II. Apprentissage avec arbres de décision

o L’attribut samples d’un nœud compte le nombre d’observations d’entrainement


passées par ce nœud.
• Dans notre exemple, 100 observations d’entrainement sont passées par le
nœud de profondeur 1, à droite, parce que leur longueur de pétale était
supérieure à 2,45 cm, et parmi celles-ci 54 ont une largeur de pétale
inférieure à 1,75 cm (profondeur 2, à gauche).

o L’attribut value d’un nœud indique combien d’observations d’entrainement de


chaque classe sont passées par là.
• Ainsi, le nœud en bas à droite a été atteint par 0 Iris Setosa, 1 Iris
versicolor et 45 Iris Virginica.

Rym Besrour 8
II. Apprentissage avec arbres de décision

o L’attribut Gini d’un nœud mesure son impureté : un nœud est « pur » (Gini=0)
si toutes les observations d’entrainement qui y aboutissent appartiennent à la
même classe.
• Le nœud gauche de profondeur 1, par exemple, ne reçoit que des
observations d’entrainement d’Iris setosa, il est pur et son Gini vaut donc 0.
• Par exemple, le nœud de gauche de profondeur 2 a un score Gini égal à
2 2 2
0 49 5
1− − − ≈ 0,168
54 54 54
𝑛
2
𝐺𝑖 = 1 − ෍ 𝑝𝑖,𝑘
𝑘=1
𝑝𝑖,𝑘 est le pourcentage d’observations de la classe 𝑘 parmi toutes les observations
d’entrainement dans le 𝑖è𝑚𝑒 nœud.

Rym Besrour 9
II. Apprentissage avec arbres de décision

• La ligne verticale en trait plein représente la


frontière de décision du nœud racine (profondeur
0) : longueur de pétale =2,45 cm.
• La zone de gauche étant pure ➔ elle ne comporte
que des Iris Setosa, elle ne peut plus être
partagée.
• Par contre, la zone de droite est impure et le
nœud de droite de profondeur 1 établit la
séparation à largeur de pétale = 1,75 cm (ligne à
tirets)
• Étant donné que max_depth est 2, l’arbre de
décision s’arrête là.

Rym Besrour 10
II. Apprentissage avec arbres de décision

Estimation des probabilités des classes


Un arbre de décision peut aussi estimer la probabilité qu’une observation appartienne à
une classe donnée 𝑘 : l’algorithme traverse d’abord l’arbre pour trouver le nœud terminal
de cette observation, puis renvoie le pourcentage d’observations d’entrainement de la
classe 𝑘 dans ce nœud.

Supposons par exemple que vous ayez trouvé


une fleur dont les pétales mesurent 5 cm de
long et 1.5 cm de large.
Le nœud terminal correspondant est le nœud
gauche de profondeur 2, et par conséquent
l’arbre de décision renverra les probabilités
suivantes : 0% pour iris setosa (0/54), 90.7%
pour iris versicolor (49/54) et 9.3% pour iris
virginica (5/54).
Rym Besrour 11
III. Algorithme d’entrainement CART
(Classification And Regression Tree)

Le principe est simple :


• L’algorithme sépare d’abord le jeu d’entrainement en deux sous-ensembles
en utilisant une seule caractéristique 𝑘 et un seuil 𝑡𝑘 (par ex : longueur de
pétale <2,45 cm)
• Comment choisit-il 𝑘 et 𝑡𝑘 ?
Il recherche la paire (𝑘, 𝑡𝑘 ) qui produit les sous-ensembles les plus purs.
La fonction de coût que l’algorithme essaie de minimiser est donnée par :

𝑚𝑔𝑎𝑢𝑐ℎ𝑒 𝑚𝑑𝑟𝑜𝑖𝑡𝑒
𝐽 𝑘, 𝑡𝑘 = 𝐺𝑔𝑎𝑢𝑐ℎ𝑒 + 𝐺𝑑𝑟𝑜𝑖𝑡𝑒
𝑚 𝑚

𝐺𝑔𝑎𝑢𝑐ℎ𝑒/𝑑𝑟𝑜𝑖𝑡𝑒 𝑚𝑒𝑠𝑢𝑟𝑒 𝑙 ′ 𝑖𝑚𝑝𝑢𝑟𝑒𝑡é 𝑑𝑢 𝑠𝑜𝑢𝑠 𝑒𝑛𝑠𝑒𝑚𝑏𝑙𝑒 𝑑𝑒 𝑔𝑎𝑢𝑐ℎ𝑒 𝑜𝑢 𝑑𝑒 𝑑𝑟𝑜𝑖𝑡𝑒

𝑚𝑔𝑎𝑢𝑐ℎ𝑒/𝑑𝑟𝑜𝑖𝑡𝑒 𝑒𝑠𝑡 𝑙𝑒 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑 ′ 𝑜𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛𝑠 𝑑𝑢 𝑠𝑜𝑢𝑠 𝑒𝑛𝑠𝑒𝑚𝑏𝑙𝑒 𝑑𝑒 𝑔𝑎𝑢𝑐ℎ𝑒 𝑜𝑢 𝑑𝑒 𝑑𝑟𝑜𝑖𝑡𝑒
Rym Besrour 12
III. Algorithme d’entrainement CART
(Classification And Regression Tree)

o Une fois le jeu d’entrainement partagé en deux, il applique la même logique aux
sous-ensemble afin de les partager, et ainsi de suite récursivement.

o La récursion ne s’interrompt que lorsque la profondeur maximale (définie par


l’hyperparamètre max_depth) est atteinte ou qu’il n’existe plus de partage
réduisant l’impureté.

o Il existe d’autres hyperparamètres déterminant des conditions d’arrêt


supplémentaires
• min_samples_split,
• min_samples_leaf,
• min_weight_fractions_leaf,
• max_leaf_nodes.

Rym Besrour 13
IV. Impureté Gini ou Entropie ?

Par défaut, c’est la mesure d’impureté Gini qui est utilisée, mais on peut sélectionner
à la place la mesure d’entropie en donnant à l’hyperparamètre criterion la valeur
« entropy »
Cette notion mesure l’information moyenne contenue dans un message : l’entropie
est nulle lorsque tous les messages sont identiques.
L’entropie d’un jeu de données est nulle lorsque toutes ses observations
appartiennent à une seule classe. 𝑛

𝐻𝑖 = − ෍ 𝑝𝑖,𝑘 𝑙𝑜𝑔 𝑝𝑖,𝑘


𝑘=1
𝑝𝑖,𝑘 ≠0

Par exemple, le nœud de gauche de profondeur 2 a une entropie de


49 49 5 5
− log − log( ) ≈ 0,31
54 54 54 54
Rym Besrour 14
IV. Impureté Gini ou Entropie ?

Faut-il utiliser l’impureté Gini ou l’entropie ?

• Dans la plupart des cas, cela ne fait pas une grande différence : on aboutit
à des arbres similaires.

• L’impureté Gini est un peu plus rapide à calculer, un bon choix par défaut.

• L’impureté Gini a tendance à isoler la classe la plus fréquente dans une


branche de l’arbre.

• Tandis que l’entropie produit en général des arbres légèrement plus


équilibrés.

Rym Besrour 15
V. Hyperparamètres de régularisation

o 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.

o Pour éviter de sur-ajuster les données d’entrainement, on doit restreindre la


liberté de l’arbre de décision durant l’entrainement.

o 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 16
V. Hyperparamètres de régularisation
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_feaures : nombre maximum de caractéristiques évaluées à chaque


nœud en vue de sa division.

Rym Besrour 17
VI. Exemples
Exemple1 avec la fonction Entropie
Données : un tableau d'observations

Problème :
Pourquoi certains attrapent un coup de soleil ? Comment prédire le résultat pour une
Rym Besrour nouvelle personne (coup de soleil ou RAS : Rien A Signaler) ? 18
La fonction de choix
Fonction d’Entropie

Fonction de Gini

La fonction de gain d’information


Pour la fonction d’Entropie

Pour la fonction de Gini

Rym Besrour 19
E = ensemble des 8 exemples

entropie(E) = - 5/8 log2 (5/8) - 3/8 log2 (3/8) = 0.42 + 0.53 = 0.95

Entcroisee(Taille) = prob(petit)*entropie(E, petit) + prob(moyen)* entropie(E, moyen) +


prob(grand)* entropie(E, grand)

= 3/8 [ -1/3*log2 (1/3) –2/3*log2 (2/3) ] + 3/8 [ -1/3*log2 (1/3) –2/3*log2 (2/3) ] + 2/8 [ -1*log2
(1) –0*log2 (0) ]

= 0.344 + 0.344 + 0 = 0.69

IG(E, Taille) = 0.95 - 0.69;


IG(E, Cheveux) = 0.95 - 0.5;
IG(E, Poids) = 0.95 - 0.94;
IG(E, Lotion) = 0.95 - 0.61

➔ Choix de l'attribut Cheveux


Rym Besrour 20
Le choix de l'attribut cheveux permet de discriminer 4 exemples (3 pour la valeur Brune
et 1 pour la valeur rousse).

L’étape suivante : chercher l’attribut qui va discriminer les 4 exemples (blonde) non
discriminés par Cheveux.

E = ensemble des 4 personnes

IG(E, Taille) = 0.5;


IG(E, Poids) = 1;
IG(E, Lotion) = 0

➔ Choix de l'attribut Lotion

Rym Besrour 21
Exemple 2 avec la fonction de Gini
Données : ensemble des clients d’une compagnie d’assurance

Problème :
Comment prédire le résultat internet pour un client (le client consulte ses
comptes sur internet ou non ) ?
Rym Besrour 22
Avec 8 clients dont : 3 (oui) et 5 (non), le mélange initial (selon Gini) :

• La construction est descendante : on commence par tester les candidats à la racine.


• Au début, tous les individus sont regroupés (au niveau 0, la racine de l’arbre).
• Ainsi, quatre (04) constructions sont possibles, suivant les variables : Montant (M), âge
(A), résidence (R) et études (E).

Rym Besrour 23
Construction selon la variable M (Montant)

Construction selon la variable A (âge)

Rym Besrour 24
Construction selon la variable R (Résidence)

Construction selon la variable E (étude)

Le Premier Niveau de l’Arbre Appris

Rym Besrour 25
o 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).
o Puis, continuer la construction des autres niveaux selon les variables restantes M, R et E.

Construction du second niveau :

Rym Besrour 26
Arbre Finalement Appris

Rym Besrour 27
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 28

Vous aimerez peut-être aussi