Vous êtes sur la page 1sur 21

Arbres de décision

Ismaila Seck

iseck@aimsammi.org

4 janvier 2024

Ismaila Seck Decision Tree 4 janvier 2024 1 / 21


Overview

1 Présentation des arbres de décisions

2 Construction d’un arbre de décision

3 Avantage et inconvénients des arbres de décision

Ismaila Seck Decision Tree 4 janvier 2024 2 / 21


Présentation des arbres de décisions

Structure des arbres de décisions


Un arbre de décision a trois types de nœuds :
La racine qui n’a pas d’arête d’entrée et qui a au moins deux arêtes
de sortie
Les nœuds internes, ayant exactement une arête d’entrée et au
moins deux arêtes de sortie
Les feuilles, ayant une arête d’entrée et pas d’arête de sortie.

Figure 1 – exemple d’arbre de décision

Ismaila Seck Decision Tree 4 janvier 2024 3 / 21


Présentation des arbres de décisions

Définition

les arbres de décision sont des classifieurs pour des entités représentées
dans un formalisme attribut-valeur.
les nœuds (sauf feuilles) testent les attributs.
Les arêtes testent les valeurs des attributs.
les feuilles indiquent les différentes catégories

Ismaila Seck Decision Tree 4 janvier 2024 4 / 21


Construction d’un arbre de décision

Schéma de création et d’application du modèle

Figure 2 – création et usage d’un arbre de décision

Ismaila Seck Decision Tree 4 janvier 2024 5 / 21


Construction d’un arbre de décision

Algorithmes de construction de l’arbre de décision

L’algorithme de Hunt, dont les autres algorithmes sont inspirés


CART (Classification And Regression Tree), sépare chaque nœud en
deux
ID3 (Iterative Dichotomizer 3)
C4.5, C5, versions améliorées respectivement de ID3 et C4.5
SLIQ (Supervised Learning In Quest), SPRINT, pour les grandes
quantités de données

Ismaila Seck Decision Tree 4 janvier 2024 6 / 21


Construction d’un arbre de décision

Algorithme de Hunt

Soit Dt un sous-ensemble des données d’entraînement qui atteint le noeud


t.
Si tous les éléments de Dt appartiennent à la même classe yt , alors t
est une feuille correspondant à la classe yt
Si Dt est un ensemble vide alors on lui affecte la classe par défaut yd ,
celle qui est la plus représentée au nœud-père
Si Dt contient des données qui appartiennent à plus d’une classe, alors
une condition sur un des attributs est utilisé pour les séparer en
groupe plus petits et plus homogènes
L’algorithme est appliqué de manière itérative aux nouveaux nœuds.

Ismaila Seck Decision Tree 4 janvier 2024 7 / 21


Construction d’un arbre de décision

Comment choisir l’attribut et la condition de séparation ?

Cela dépend de la nature des attributs :


attributs nominaux
attributs ordinaux
attributs continus
Et aussi de la manière dont les données sont séparées :
séparation en deux sous-ensembles (binary split, two-way split)
séparation avec plus de deux ensembles (multiway split)

Ismaila Seck Decision Tree 4 janvier 2024 8 / 21


Construction d’un arbre de décision

séparation basée sur des attributs nominaux

Figure 3 – exemple de séparation d’attributs nominaux

Ismaila Seck Decision Tree 4 janvier 2024 9 / 21


Construction d’un arbre de décision

séparation basée sur des attributs ordinaux


Dans le cas d’une séparation binaire, on cherche à séparer les données en
deux groupes tout en trouvant la partition optimale. Une contrainte
s’ajoute : la conservation de l’ordre des attributs.

Figure 4 – Exemple de partitions d’attributs ordinaux. les figures (a) et (b)


respectent l’ordre mais la figure (c) ne respecte pas l’ordre.

Ismaila Seck Decision Tree 4 janvier 2024 10 / 21


Construction d’un arbre de décision

séparation basée sur des attributs continues

Une approche pour gérer les valeurs continues est d’utiliser des intervalles.
Ces intervalles peuvent être regroupés tant qu’ils respectent l’ordre comme
dans le cas des variables ordinales.

Figure 5 – séparation basée sur des attributs continus

Ismaila Seck Decision Tree 4 janvier 2024 11 / 21


Construction d’un arbre de décision

Mesures d’impureté

Pour sélectionner les valeurs donnant la meilleure partition, des mesures


d’impureté sont utilisées, la meilleure séparation étant celle qui donne la
plus petite valeur.Elles correspondent aux classes les plus homogènes.
Quelques mesures d’impureté pour C l’ensemble des classes et à un nœud t
de :
P
Entropy (t) = − p(i|t)log2 p(i|t), et si p(i|t) = 0, on ignore cette
i∈C
valeur dans le calcul, utilisé dans ID3, C.4.5
[p(i|t)]2 utilisé dans CART, SLIQ, SPRINT
P
Gini(t) = 1 −
i∈C
Classification error(t) = 1 − max[p(i|t)]
i∈C

Ismaila Seck Decision Tree 4 janvier 2024 12 / 21


Construction d’un arbre de décision

Mesures d’impureté

Figure 6 – Tracé des valeurs de l’entropy, de l’indice de Gini et de l’erreur de


classification, dans le cas binaire (deux classes.)

Ismaila Seck Decision Tree 4 janvier 2024 13 / 21


Construction d’un arbre de décision

Gain comme critère de séparation

Pour déterminer l’amélioration en terme d’impureté apportée par une


séparation, on utilise le gain. La différence l’impureté du noeud père et des
noeuds fils après séparation :
k
X N(vj )
∆ = I (parent) − I (vj ),
N
j=1

avec
I (.) est une mesure d’impureté d’un noeud donné
N est le nombre d’éléments du noeud père
k est le nombre de fils
N(vj ) est le nombre d’éléments affectés au noeud fils vj
Lorsque la mesure d’impureté utilisée est l’entropy, on parle de gain
d’information, ∆info
Ismaila Seck Decision Tree 4 janvier 2024 14 / 21
Construction d’un arbre de décision

Gain normalisé comme critère de séparation

L’utilisation du gain a tendance à favoriser les séparations produisant un


grand nombre de partition avec de faibles effectifs. Pour corriger ce
problème, deux approches sont souvent utilisé :
utiliser des séparations binaires, approche de l’algorithme CART
tenir compte du nombre de partitions dans l’évaluation du gain(utilisé
dans C4.5) :
∆info
Gain ratio = SplitInfo ,
P N(vi ) N(vi )
avec SplitInfo = − N log2 ( N )
1≤i≤k

Ismaila Seck Decision Tree 4 janvier 2024 15 / 21


Avantage et inconvénients des arbres de décision

Avantage des arbres de décision

peu coûteux en temps et puissance de calcul


prend en charge des données numériques, ordinales, nominales
rapide pour la classification de nouveau exemple
facile à interpréter pour des arbres de taille raisonnable
précision comparable à celle des autres algorithmes de classification
sur des plusieurs jeux de données simples.

Ismaila Seck Decision Tree 4 janvier 2024 16 / 21


Avantage et inconvénients des arbres de décision

Inconvénients des arbres de décision

frontières de décision orthogonales aux axes, sensibilité à la rotation


des données (combinaison de caractéristiques comme correction, ACP
par exemple)
sensibles aux petites variations de l’ensemble d’apprentissage
(ajout/suppression d’éléments)
possibilité d’overfitting (surapprentissage)
non-optimalité, trouver l’arbre optimal est un problème NP-complet

Ismaila Seck Decision Tree 4 janvier 2024 17 / 21


Avantage et inconvénients des arbres de décision

sensibilité à la rotation

Figure 7 – Illustration de la sensibilité des arbres de décision à la rotation des


données

Ismaila Seck Decision Tree 4 janvier 2024 18 / 21


Avantage et inconvénients des arbres de décision

sensibilité aux variations de l’ensemble d’apprentissage

Figure 8 – Illustration de la sensibilité aux variations de l’ensemble


d’apprentissage. Ici le versicolor avec la plus grande largeur de pétal (à la position
4.8 et 1.8) a été enlevé.

Et si l’implémentation de l’algorithme est stochastique comme c’est le cas


pour l’algorithme de scikit-learn, il est possible d’obtenir des modèles
différents avec exactement les mêmes données.

Ismaila Seck Decision Tree 4 janvier 2024 19 / 21


Avantage et inconvénients des arbres de décision

Méthodes de régularisation : pre-pruning & post-pruning

Le pre-pruning consiste à arrêter l’algorithme avant d’arriver avant la fin de


l’exécution. Plusieurs conditions peuvent justifier cet arrêt :
nombre d’instances d’un noeud est inférieur à un seuil déterminé par
l’utilisateur
distributions des caractéristiques disponibles et des labels sont
indépendantes
aucune amélioration de la mesure d’impureté avec l’ajout de nouveaux
noeuds.
Le post-pruning consiste à supprimer des noeuds une fois que l’algorithme a
fini de construire l’arbre de décision.

Ismaila Seck Decision Tree 4 janvier 2024 20 / 21


Avantage et inconvénients des arbres de décision

Liens vers la documentation

Les modules utilisés fournissent un ensemble d’objets ainsi qu’un groupes de


fonctions permettant de manipuler nombre d’objets de façon simple et très
performantes dans le cadre du calcul scientifique (voir documentation) :
numpy est un package fondamental pour faire du calcul scientifique
avec Python. Et scipy en est une extension.
matplotlib permet de tracer des graphiques
scikit learn propose des algorithmes d’apprentissages supervisés et non
supervisés (pas encore d’algorithme d’apprentissage par renforcement).
Elle permet d’importer des données et aussi de générer des données
artificielles.

Ismaila Seck Decision Tree 4 janvier 2024 21 / 21

Vous aimerez peut-être aussi