Vous êtes sur la page 1sur 39

Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Arbres de décision
Cécile Capponi
cecile.capponi@lif.univ-mrs.fr

Université Aix-Marseille

M2 MASS
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Plan

Introduction

Classification supervisée par arbre de décision

Algorithme d’apprentissage d’arbres de décision


Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Les arbres de décision

Notations
Soient A1 , . . . , Am : attributs binaires, n-aires, ou réels. L’espace de
description est X = m
Q
j=1 X j où Xj est le domaine de Aj .

Définition d’un arbre de décision


Ensemble de règles de classification basant leur décision sur des tests
associés aux attributs, organisés de manière arborescente.
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Les arbres de décision (cont’d)


Structure
• Noeuds internes (noeuds de décision) : étiquetés par des tests
applicables à toute description d’une instance. Généralement, un noeud
interne = test sur un unique attribut.
• Arcs issus d’un noeud interne : réponses possibles au test du noeud.
• Feuilles de l’arbre : étiquetées par une classe.
• Chaque noeud interne ou feuille, est repéré par sa position (liste des
numéros des arcs qui permettent d’y accéder en partant de la racine).

Arbre de décision et apprentissage


• Tout arbre de décision définit un classifieur
• Classifieur qui se traduit immédiatement en terme de règles de décision

Gros avantages des arbres de décision


1. Décisions aisément interprétables,
2. classification très rapide.
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Plan

Introduction

Classification supervisée par arbre de décision

Algorithme d’apprentissage d’arbres de décision


Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Construire un arbre de décision à partir de S

Match dom. Balance pos. Mauvais climat Match préc. gagné Victoire
V V F F V
F F V V V
V V V F V
V V F V V
F V V V F
F F V F F
V F F V F
V F V F F
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Construction aveugle

MD
vrai faux

BP BP

MC MC MC MC

PG PG PG PG PG PG PG PG

V V V F F F V F
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Construction aveugle

MD
vrai faux

BP BP

MC MC MC MC

PG PG PG PG PG PG PG PG

V V V F F F V F
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Construction aveugle

MD
vrai faux

BP BP

MC MC MC MC

PG PG PG PG PG PG PG PG

V V V F F F V F
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Construction aveugle

MD
vrai faux

BP BP

MC MC MC MC

PG V PG PG PG PG PG PG

V F F F V F
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Construire un arbre de décision à partir de S

Match dom. Balance pos. Mauvais climat Match préc. gagné Victoire
V V F F V
F F V V V
V V V F V
V V F V V
F V V V F
F F V F F
V F F V F
V F V F F
V V V F F

Cas de non-déterminisme – Pas d’arbre parfait


Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Problème non-déterministe

MD
vrai faux

BP BP

MC MC MC MC

PG V PG PG PG PG PG PG

VF F F F V F
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Arbre de décision de risque empirique minimal ?

• Construire un arbre de décision de risque empirique minimal = possible


pour tout S
• Mais très faible capacité prédictive (généralisation). pourquoi ?
• Est-ce que le plus petit arbre de décision compatible avec S aura de
meilleures capacités de généralisation ?
• cf. théorie de l’apprentissage statistique (Vapnik)
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Petit arbre de décision compatible

Intérêt
Conforme aux principes invoqués en apprentissage
• Principe du rasoir d’Occam : trouver l’hypothèse la plus courte possible
compatible avec les données
• Principe MDL (minimum description length) : soit des données S,
trouver l’hypothèse H telle que |H| + |S/H| soit la plus petite possible
(longueur d’un codage des données via H)

Mais...
Trouver le plus petit arbre de décision compatible avec S est un problème
NP-complet.

Besoin d’algorithmes spécifiques


Plus petit arbre possible (mais pas forcément le plus petit), compatible au
mieux avec les données, pour satisfaire le principe ERM.
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Plan

Introduction

Classification supervisée par arbre de décision

Algorithme d’apprentissage d’arbres de décision


Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Structure générique de l’algorithme

Algorithmes de référence
• CART
• C4.5

Principe général
Construction top-down, gloutonne et récursive, d’un petit arbre consistant
avec la plupart des données

Trois opérateurs majeurs


1. Décider si un noeud est terminal,
2. Si un noeud n’est pas terminal, lui associer un test
3. Si un noeud est terminal, lui associer une classe
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Structure générique de l’algorithme (cont’d)

Require: échantillon S
1: Initialiser l’arbre courant à vide : racine = noeud courant
2: repeat
3: Décider si le noeud courant est terminal
4: if noeud terminal then
5: Lui affecter une classe
6: else
7: Sélectionner un test et créer autant de nouveaux noeuds qu’il y a de
réponses possibles au tests
8: end if
9: Passer au noeud suivant non-exploré (s’il existe)
10: until Plus de noeud sans classe
11: return Arbre de décision A
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Structure générique de l’algorithme (cont’d)

Noeud terminal ?
• Lorsque (presque) tous les exemples de S en ce noeud sont dans la
même classe,
• Lorsqu’il n’y a plus d’attributs à tester à ce niveau

Quelle classe à un noeud terminal ?


• Classe majoritaire
• Classe la plus représentée, si égalité

Sélection d’un test ?


Choix de l’attribut qui fait le mieux progresser la discrimination des données
de S : gain en information.
• Indice de Gini (CART)
• Critère d’entropie (C4.5)
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Indice de Gini et entropie

Mesure du désordre (ou d’inégalité de répartition), pour choix d’un test à une
position de l’arbre
Données
• S un échantillon, a l’attribut cible
• S1 , . . . , Sk partition de S selon les classes de a

Indice de Gini
k X |Si | × |Sj |
X |Si | |Si |
Gini(S) = (1 − )=
|S| |S| |S|2
i=1 i6=j
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Coefficient de Gini
(Inégalité des revenus – source: wikipedia)
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Indice de Gini et entropie (cont’d)

Mesure du désordre (ou d’inégalité de répartition)


Données
• S un échantillon, a l’attribut cible
• S1 , . . . , Sk partition de S selon les classes de a

Indice de Gini
k X |Si | × |Sj |
X |Si | |Si |
Gini(S) = (1 − )=
|S| |S| |S|2
i=1 i6=j

Entropie
k
X |Si | |Si |
Ent(S) = − log( )
|S| |S|
i=1

(variation d’un terme multiplicatif constant selon la base du log)


Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Indice de Gini et entropie (cont’d)

Exemple
|S1 |
Supposons k = 2, soit x = |S|

Gini(S) = 2x(1 − x)

Ent(S) = −xlogx − (1 − x)log(1 − x)


Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Comment choisir un test parmi les attributs disponibles ?

Cas des attributs binaires


• p : position courante ( à la racine) de l’arbre en construction
• T : un test (sur un attribut : T a deux réponses possibles !)
• f =Ent ou f =Gini, Sp échantillon associé à p
• Spi : ensemble des exemples de Sp qui satisfont la i-ème branche de T
• Pi : proportion des éléments de Sp qui satisfont la i-ème branche de T
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Comment choisir un test parmi les attributs disponibles ?

Cas des attributs binaires


• p : position courante ( à la racine) de l’arbre en construction
• T : un test (sur un attribut : T a deux réponses possibles !)
• f =Ent ou f =Gini, Sp échantillon associé à p
• Spi : ensemble des exemples de Sp qui satisfont la i-ème branche de T
• Pi : proportion des éléments de Sp qui satisfont la i-ème branche de T
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Comment choisir un test parmi les attributs disponibles ?

Cas des attributs binaires


• p : position courante ( à la racine) de l’arbre en construction
• T : un test (sur un attribut : T a deux réponses possibles !)
• f =Ent ou f =Gini, Sp échantillon associé à p
• Spi : ensemble des exemples de Sp qui satisfont la i-ème branche de T
• Pi : proportion des éléments de Sp qui satisfont la i-ème branche de T

2
X
Gainf (p, T ) = f (Sp ) − Pj × f (Spj )
j=1
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Le gain d’un attribut à une position

2
X
Gainf (p, T ) = f (Sp ) − Pj × f (Spj )
j=1

Propriétés (cas attributs binaires)


• Terme f (Sp ) ne dépend pas de T !
P2
• Conséquence : Maximiser le gain revient à minimiser j=1 Pj × f (Spj ) !
• Gain maximal lorsque le test sur un attribut permet de classer
correctement toutes les données
• (Gain minimal si aucune information apportée par ce test au regard de la
classification)
• Sélction de l’attribut qui maximise le gain : stratgégie gloutonne
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Sur l’exemple des matchs

Choix du premier attribut (position racine)


Critère de Gini (DOM, BAL, MCC, MPG)
• Gain(, DOM) = Gini(S) − ( 58 Gini(S1 ) + 38 Gini(S2 )) =
5×2×3 3×1×2 7
Gini(S) − 2 × 8×5×5
−2× 8×3×3
= Gini(S) − 15
3
• Gain(, BAL = Gini(S) − 8
7
• Gain(, MCC = Gini(S) − 15
1
• Gain(, MPG = Gini(S) − 2

Gain Maximum pour BAL (idem pour Entropie) : c’est l’attribut choisi à la
racine pour une première phase de classification.

Choix du second test en position S1 (BAL=V)


Calcul des gains pour chaque attribut restant : the winner is DOM

Choix du second test en position S2 (BAL=F)


The winner si MPG
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Arbre final obtenu


Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Erreur apparente nulle, mais...

Faible pouvoir prédictif (notion de sur-apprentissage – ou apprentissage par


coeur)
Nécessité d’obtenir un arbre plus petit : élagage
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Phase d’élagage de l’arbre de décision

Deux approches
• Eviter une trop grande croissance de l’arbre en arrêtant sa construction
au bon moment (early stopping via ensemble de validation).
• Procéder en deux phases : construire l’arbre complètement, puis couper
les branches qui dépassent !
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Elagage de CART
Variations d’erreurs à minimiser
• T0 un arbre de décision à élaguer, T l’ensemble de tous les arbres de
décision obtenus à partir de T0 en remplaçant certains noeuds internes
par des feuilles.
• Pour chaque noeud interne p de T0 :
S
∆Remp
α=
|Tp | − 1
S
où ∆Remp est le nombre d’erreurs supplémentaires que commet l’arbre
sur S lorsqu’on élague à la position p, et |Tp | − 1 mesure le nombre de
feuilles supprimées.

Processus itératif
• Ti+1 obtenu à partir de Ti , auquel on coupe la branche qui permet un α
minimal.
• Soit T0 , . . . , Ti , . . . , Tt la suite obtenue, où Tt est réduit à une feuille.
• Sélection de l’arbre Ti dont le nombre d’erreurs calculées sur ensemble
de validation Sval est minimal.
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Elagage de CART sur l’exemple

BAL ? (4V, 4F ; 8)
oui non

DOM ? (3V, 1F ; 4) MPG ? (1V, 3F ; 4)

oui non oui non

Gagné Perdu MCC ? (1V, 1F ; 2) Perdu


(3V, 0F ; 3) (0V, 1F ; 1) (0V, 2F ; 2)
oui non

Gagné Perdu
T0 (1V, 0F ; 1) (0V, 1F ; 1)
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Elagage de CART sur l’exemple

BAL ? (4V, 4F ; 8)
oui non

DOM ? (3V, 1F ; 4) Perdu (1V, 3F ; 4)

oui non
T1

Gagné Perdu
(3V, 0F ; 3) (0V, 1F ; 1)
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Elagage de CART sur l’exemple

BAL ? (4V, 4F ; 8) Gagné


oui non (4V, 4F ; 8)

T2
T3
Gagné Perdu
(3V, 1F ; 4) (1V, 3F ; 4)
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Elagage de CART sur l’exemple (cont’d)

Ensemble de validation
Match dom. Balance pos. Mauvais climat Match préc. gagné Victoire
V V V F V
F V V F V
F F F V F
V F V F V

Calculs d’erreurs
1
• T0 : 0 en apprentissage, 2
en test
1 1
• T1 : 4
en apprentissage, 2
en test : mêmes erreurs que T0
1 1
• T2 : 2
en apprentissage, 4
en test
1 1
• T3 : 2
en apprentissage, 4
en test
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Compléments
Autres catégories d’attributs
• Traitement en cas d’attributs n-aires et continus
• Traitement en cas de multi-classes
• Données manquantes ?

Attribut continu : partition de l’intervalle


• Attribut a, tests binaires de la forme a < v ou a ≤ v
• Soient v1 , v2 , . . . vN valeurs prises par a dans S
• Exemple de test, pour i = 1 . . . N − 1 :

vi + vi+1
a<
2
• Test sélectionné grâce à la notion de gain

v1 v2 v3 v4 v5 v6 v7 v8
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Compléments
Autres catégories d’attributs
• Traitement en cas d’attributs n-aires et continus
• Traitement en cas de multi-classes
• Données manquantes ?

Attribut continu : partition de l’intervalle


• Attribut a, tests binaires de la forme a < v ou a ≤ v
• Soient v1 , v2 , . . . vN valeurs prises par a dans S
• Exemple de test, pour i = 1 . . . N − 1 :

vi + vi+1
a<
2
• Test sélectionné grâce à la notion de gain

v1 v2 v3 v4 v5 v6 v7 v8
Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Compléments : attributs n-aires

Généralisation des formules de gain


N
X
Gainf (p, T ) = f (Sp ) − Pj × f (Spj )
j=1

• Privilège des attributs de grande arité


• Cas où attribut = clé identifiant chaque élément de S

Approche de C4.5 : Ratio de gain


Soit a d’arité N, prenant les valeurs v1 , . . . , vN :
Gain
GainRatio = PN ki ki
− i=1 |S| log |S|

où ki = nombre d’exemples de S pour lesquels a = vi .


Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision

Compléments : instabilité

Variance importante
Sur données réelles :
• choix d’un attribut plutôt qu’un autre : limite serrée !
• influence majeure si proche de la racine

Solutions : agréger sur le hasard


• Bagging (Boostrap Aggregating)
• Random Forests

Vous aimerez peut-être aussi