Vous êtes sur la page 1sur 49

IFT 603

Techniques d’apprentissage

Thème 02
Arbre de décision
Partie I

André Mayers Hiver 2012


inspiré fortement du chap 4 de Introduction to data mining
Tan, Steinback et Kumar (accessible sur le web, voir plan de cours)

1
Plan
 Introduction : un arbre de décision est un classificateur
 Définitions et exemples d’un arbre de décision
 Utilisation d’un arbre de décision
 Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
 Mesure d’impureté : entropie, gini, erreur de classification
 Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
 Avantage et désavantages des arbres de décision
Demain
 Sous-apprentissage et sur-apprentissage
 Erreur d’apprentissage et erreur de généralisation
 MDL : une mesure de complexité
 Élagage

2
Arbre de décision est un classificateur

Utilisation d’un classificateur

3
Définition de la classification
 Étant donné une collection d’objets pour l’apprentissage et la
validation, trouver et valider un modèle
 trouver (avec une partie des données) et valider (avec une autre partie)
◦ prédisant la classe d’un objet de classe inconnue à partir de la valeur de ses
attributs (voir prochaine diapositive)
◦ décrivant les caractéristiques de chaque classe (pas tous les classificateurs)
(voir prochaine diapositive)
 Chaque objet possède un ensemble d’attributs dont l’un est sa classe
 Modèle est un nom pour signifier une fonction dont le domaine est le
produit cartésien des attributs et l’image la classe
◦ on confond souvent modèle avec l’algorithme utilisé pour apprendre cette
fonction ou encore avec l’algorithme qui implémente cette fonction (ce 2e
cas est une confusion beaucoup moins grave)
 Tous les attributs continus sont discrétisés, c’est la principale
caractéristique distinguant la classification de la régression

4
Utilité d’un modèle de classification
 Décrire
◦ Un modèle descriptif de classification permet de trouver les
caractéristiques distinctives des éléments d’une classe
 Un éléphant est un mammifère (A1) ayant un appendice nasal allongé (A2) et …
 Prédire
◦ Un modèle prédictif de classification permet d’identifier la classe d’un objet
en fonction de la valeur de ses attributs
 Si c’est un mammifère ayant un appendice nasal allongé … alors c’est un éléphant
 Tous les modèles ne sont pas descriptifs,
◦ un réseau de neurones peut servir à la prédiction mais non à la description
 il est difficile d’inférer une explication symbolique à partir des poids des liens
entre les neurones
 les neurones des couches cachées n’ont souvent aucune signification symbolique

5
Processus de classification (sans validation)
Tid Attrib1 Attrib2 Attrib3 Class Learning
1 Yes Large 125K No
algorithm
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
Induction
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No Learn
8 No Small 85K Yes Model
9 No Medium 75K No
10 No Small 90K Yes
Model
10

ensemble
d’apprentissage Apply
Tid Attrib1 Attrib2 Attrib3 Class Model
11 No Small 55K ?
12 Yes Medium 80K ? Prédiction
13 Yes Large 110K ?
par
14 No Small 95K ?
déduction
15 No Large 67K ?
10

ensemble
d’application

6
Processus de classification (avec validation)

Ensemble
d’apprentissage

1
3
2

Ensemble de
validation

Ensemble
1 : apprentissage d’application
2 : validation
3 : utilisation du classificateur
7
Évaluation d’un modèle de classification
 L’évaluation d’un modèle de classification est basée sur le nombre de
prédictions correctes et le nombre de prédictions erronées.
 Se fait souvent avec la matrice de confusion dont nous avons parlé

# prédictions _ correctes
Exactitude  Accuracy 
# prédictions
f11  f 00

f11  f10  f 01  f 00

# prédictions _ incorrectes
tauxD ' erreur  ErrorRate 
# prédictions
f10  f 01

f11  f10  f 01  f 00
8
Les techniques de classification
◦ Les méthodes basées sur les arbres de décision
◦ Les méthodes basées sur les règles
◦ Réseau de neurones
◦ Réseau bayésien
◦ Séparateur à vaste marge (SVM)

 Ce thème est centré sur les arbres de décisions

9
PLAN
 Introduction : un arbre de décision est un classificateur
 Définitions et exemples d’un arbre de décision
 Utilisation d’un arbre de décision
 Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
 Mesure d’impureté : entropie, gini, erreur de classification
 Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
 Avantage et désavantages des arbres de décision

10
Définition d’un arbre de décision
• Un arbre de décision est un outil pour déterminer l’appartenance d’un
objet à une classe en fonction de ses caractéristiques/attributs.

Les attributs apparaissant dans l’arbre sont les attributs pertinents pour le
problème considéré

Un arbre de décision est composé de

• Nœud = test sur un attribut


• Branche = correspond à une valeur d’attribut
• Feuilles = désignent la classe de l’objet à classer Branches

Nœud

11
Feuilles
Exemple d’arbre de décision
Noeud : Attribut diviseur

Tid Home Marital Taxable


Owner Status Income Cheat
Owner*
1 Yes Single 125K No Oui Non
2 No Married 100K No
NO MarSt
3 No Single 70K No
Single, Divorced Married
4 Yes Married 120K No
5 No Divorced 95K Yes TaxInc NO
6 No Married 60K No < 80K > 80K
7 Yes Divorced 220K No NO YES
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes Modèle: Arbre de décision
10

Données
d’apprentissage
L’objectif est de déterminé si une personne
fera un défaut de paiement. * Owner = Home Owner
12
Autre exemple d’arbre de décision

MarSt Single,
Tid Home Marital Taxable Married Divorced
Owner Status Income Cheat

1 Yes Single 125K No NO Owner


Yes No
2 No Married 100K No
3 No Single 70K No
NO TaxInc
4 Yes Married 120K No
< 80K > 80K
5 No Divorced 95K Yes
6 No Married 60K No NO YES
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No Il peut exister plusieurs arbres de
10 No Single 90K Yes décision comme modèle des mêmes
données
10

Données
d’apprentissage
13
La classification à l’aide d’un arbre de décision
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No Learn
8 No Small 85K Yes Model
9 No Medium 75K No
10 No Small 90K Yes
Model
10

Apply
Tid Attrib1 Attrib2 Attrib3 Class
Model Arbre de
11 No Small 55K ? décision
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ?
10

La phase utilisation du modèle


voir les prochaines acétates
14
PLAN
Aujourd’hui
 Introduction : un arbre de décision est un classificateur
 Définitions et exemples d’un arbre de décision
 Utilisation d’un arbre de décision
 Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
 Mesure d’impureté : entropie, gini, erreur de classification
 Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
 Avantage et désavantages des arbres de décision

15
La phase utilisation du modèle : 1
la donnée à tester
Home Marital Taxable
comparer les attributs en Owner Status Income Cheat
commençant à la racine
No Married 80K ?
10

Owner*
Yes No

NO MarSt
Single, Divorced Married

TaxInc NO
< 80K > 80K

NO YES

16 prendre une donnée dans l’ensemble test ou du cadre d’application


La phase utilisation du modèle : 2
La donnée à tester
Home Marital Taxable
Owner Status Income Cheat

No Married 80K ?
Owner 10

Yes No

NO MarSt
Single, Divorced Married

TaxInc NO
< 80K > 80K

NO YES

17
Le premier attribut diviseur est « être propriétaire d’une maison »
La phase utilisation du modèle : 3
donnée test
Home Marital Taxable
Owner Status Income Cheat

No Married 80K ?
Owner 10

Yes No

NO MarSt
Single, Divorced Married

TaxInc NO
< 80K > 80K

NO YES

Prendre la branche correspondant à la valeur


de l’attribut propriétaire pour la donnée
18
La phase utilisation du modèle : 4
donnée test
Home Marital Taxable
Owner Status Income Cheat

No Married 80K ?
10

Owner
Yes No

NO MarSt L’attribut diviseur est


Single, Divorced Married déterminé par le nœud où
nous sommes dans l’arbre
TaxInc NO
< 80K > 80K
Le prochain attribut diviseur
est l’état matrimonial
NO YES

19
La phase utilisation du modèle : 5
Donnée test
Home Marital Taxable
Owner Status Income Cheat

No Married 80K ?
Owner 10

Yes No

NO MarSt
Single, Divorced Married
Prendre la branche corres-
pondant à la valeur de l’attribut
TaxInc NO état matrimonial pour la
< 80K > 80K donnée, c.-à-d. marié

NO YES

20
La phase utilisation du modèle : 6
Donnée test
Home Marital Taxable
Owner Status Income Cheat

No Married 80K No
Owner 10

Yes No

NO MarSt.
Single, Divorced Married

TaxInc NO
< 80K > 80K Assign Cheat to “No”
NO YES

21
PLAN
Aujourd’hui
 Introduction : un arbre de décision est un classificateur
 Définitions et exemples d’un arbre de décision
 Utilisation d’un arbre de décision
 Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
 Mesure d’impureté : entropie, gini, erreur de classification
 Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
 Avantage et désavantages des arbres de décision

22
La phase apprentissage du modèle

Tid Attrib1 Attrib2 Attrib3 Class


1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No La phase
4 Yes Medium 120K No
apprentissage
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No Learn
8 No Small 85K Yes Model
9 No Medium 75K No
10 No Small 90K Yes
10

Apply
Arbre de
Model
Tid Attrib1 Attrib2 Attrib3 Class
décision
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ?
10

23
Algorithme d’apprentissage d’un arbre de décision
 Algorithme de Hunt (1966)
 CART (Classification And Regression Trees) (1984)
 ID3 (1986), C4.5 (1993)
 SLIQ, SPRINT

 Ces algorithmes peuvent être définis par les mêmes attributs et ce


sont les valeurs de ces attributs qui les différencient.
◦ exemple d’attributs : le type de donnée accepté par l’algorithme, le nombre
de division pour un nœud, le principe d’élagage utilisé par l’algorithme
 J’ai préféré expliquer un attribut à la fois que de décrire les
algorithmes un par un mais en ne voyant qu’une valeur d’un attribut à
la fois.
 Note : la phase d’apprentissage se divise en deux sous-phases : 1)
l’apprentissage comme tel ; 2) l’élagage de l’arbre .
◦ On se concentrera en premier sur la première sous-phase : l’apprentissage

24
PLAN
Aujourd’hui
 Introduction : un arbre de décision est un classificateur
 Définitions et exemples d’un arbre de décision
 Utilisation d’un arbre de décision
 Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
 Mesure d’impureté : entropie, gini, erreur de classification
 Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
 Avantage et désavantages des arbres de décision

25
Algorithme de Hunt
 Soit Dt l’ensemble des données qui Tid Home
Owner
Marital
Status
Taxable
Income Cheat
a été associé au nœud t
1 Yes Single 125K No
◦ Si Dt contient que des nœuds 2 No Married 100K No
appartenant à la classe yt, alors le
nœud t est une feuille étiquetée 3 No Single 70K No

yt 4 Yes Married 120K No

◦ Si Dt =Ø, alors t est une feuille


5 No Divorced 95K Yes

étiquetée par la classe de défaut 6 No Married 60K No

yd 7 Yes Divorced 220K No

◦ Si Dt contient des données


8 No Single 85K Yes

appartenant à plus d’une classe 9 No Married 75K No

alors 10
10 No Single 90K Yes

a) utilisez un attribut diviseur


pour créer des nœuds fils à t. Le noeud t
Ces nœuds contiendront les
données de t en fonction de la ?
valeur de l’attribut choisi.
b) appliquer les étapes
précédentes aux nœuds créés

26
Algorithme de Hunt … id Home Marital Taxable
owner Status Income Chea
Owner
Yes .No 1 Yes Single 125K No
2 No Married 100K No
Don’t Don’t
3 No Single 70K No
Cheat Cheat
4 Yes Married 120K No
5 No Divorced 95K Yes
Owner
6 No Married 60K No
Yes No
7 Yes Divorced 220K No
Don’t Marital 8 No Single 85K Yes
Cheat Status Owner
Single, 9 No Married 75K No
Married Yes No
Divorced 10 No
10
Single 90K Yes
Don’t Don’t Don’t Marital
Cheat Cheat Cheat Status
Single,
Married
Divorced
Taxable Don’t
Income Cheat
< 80K >= 80K
Don’t Cheat
Cheat
27
Une caractéristique de tout algorithme
d’induction d’un arbre de décision
 Stratégie gloutonne
◦ Choisir un attribut et sa valeur qui maximise un certain critère.
 sans retour en arrière et sans regarder plus loin en avant
◦ Ce sera toujours une stratégie gloutonne
 Bien qu’il y aura une sous-phase test pouvant mener à un retour au début du
processus de forage

28
Attributs d’un algorithme d’apprentissage
 Attributs considérés dans les prochains transparents
1. La division des données
1. Les types de division des valeurs d'un attribut
2. Trouver l’attribut (et sa valeur) donnant la division optimale
2. La condition d’arrêt pour la division

29
Diviser les données
 En fonction du type d’attribut
◦ Nominale
◦ Ordinale
◦ Continue

 En fonction du nombre de divisions


◦ Division binaire
◦ Division n-naire

30
Division à partir d’un attribut nominal

 Division n-aire
◦ créer autant de nœuds fils qu’il y a de valeurs.
CarType
Family Luxury
Sports

 Division binaire
◦ diviser les valeurs en deux groupes et
attribuer à chacun un nouveau nœud.
◦ Comment séparer optimalement les valeurs ?

CarType CarType
{Sports, ou {Family,
{Family} Luxury} {Sports}
Luxury}

31
Division à partir d’un attribut ordinal
 Division n-aire Size
◦ Idem à nominal Small Large

Medium

 Division binaire

Size Size
{Small, ou {Medium,
Large} {Medium} Large} {Small}

 Que pensez du regroupement


ci-dessus ?

32
Division à partir d’un attribut continue
 Différentes stratégies
◦ Discrétisation pour transformer l’attribut continu en un attribut ordinal
Donne lieu à une division binaire ou n-aire
 Statique – la discrétisation se fait a priori
 Dynamique – les valeurs sont réparties dans des intervalles égaux, de fréquences
égales (ex. : percentile), ou induit par regroupement (clustering).
◦ Décision binaire : (A < v) or (A  v)
 il s’agit de trouver la valeur de v optimale
 l’essai de toutes les valeurs de v peut-être coûteux

33
Division binaire et n-aire d’un attribut continu

34
PLAN
Aujourd’hui
 Introduction : un arbre de décision est un classificateur
 Définitions et exemples d’un arbre de décision
 Utilisation d’un arbre de décision
 Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
 Mesure d’impureté : entropie, gini, erreur de classification
 Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
 Avantage et désavantages des arbres de décision

35
Trouver la division optimale
Stratégie globale
 Stratégie gloutonne :
◦ La division donnant les nœuds les plus homogènes est
choisie
 Plus les nœuds sont homogènes, plus ces nœuds contiennent de
l’information
◦ Comment mesurer la pureté ou l’impureté d’un nœud
et des divisions (nœuds fils) ?

Quel nœud donne


le plus d’information ?
C0: 5 C0: 9
C1: 5 C1: 1

Non homogène, Homogène,


Niveau élevé d’impureté Niveau faible d’impureté

36
Le gain d’information
Avant division : C0 N00 M0
C1 N01

A? B?
Yes No Yes No

Node N1 Node N2 Node N3 Node N4

C0 N10 C0 N20 C0 N30 C0 N40


C1 N11 C1 N21 C1 N31 C1 N41

M1 M2 M3 M4

M12 M34
M : Fonction mesurant l’impureté Le critère de décision est le gain
à déterminer Gain = M0 – M12 vs M0 – M34
37
Le gain d’information
L’attribut cible a deux classes de 10 éléments chacun

Quelle est la meilleure division ?


∆ = gain d’information est un critère pour choisir la division optimale

  M ( parent )  M (division)
k nj
 M ( parent )   M (v j )
j 1 n
M(•) : mesure d’impureté nj : # de donnée ayant la valeur vj
vj : jième valeur de l’attribut n : # de donnée dans le nœud parent
38
PLAN
Aujourd’hui
 Introduction : un arbre de décision est un classificateur
 Définitions et exemples d’un arbre de décision
 Utilisation d’un arbre de décision
 Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
 Mesure d’impureté : entropie, gini, erreur de classification
 Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
 Avantage et désavantages des arbres de décision

39
Mesure du niveau d’impureté : GINI
 Index Gini pour le nœud t:
Gini (t )  1   [ p ( j | t )]2
j


(NOTE : p( j | t) est la fréquence relative de la valeur j dans le nœud t.

◦ Sa valeur maximum est (1 - 1/nbclasse), c.-à-d. le max d’impureté


 Lorsque toutes les classes sont uniformément distribuées dans les nœuds
◦ Sa valeur minimum est 0,
 lorsque toutes les données du nœud appartiennent à la même classe

C1 0 C1 1 C1 2 C1 3
C2 6 C2 5 C2 4 C2 3
Gini=0.000 Gini=0.278 Gini=0.444 Gini=0.500

40
La division basée sur l’index Gini
 L’index Gini d’une division
◦ Soit p : le nœud parent
k : # de nœuds fils
ni = # de données dans le nœud fils i,
n = # de données dans le nœud p.

k
ni
Ginidivision   Gini (i )
i 1 n

  Gini ( p )  Ginidivision
 On choisit l’attribut donnant le gain le plus important
c.-à-d. Le Ginidivision le plus petit
 Utilisé par CART, SLIQ, SPRINT.

41
Attribut binaire : Calcul de l’index Gini

 Diviser les donneés selon les valeurs de l’attribut


– Soit le noeud parent B?
N1 N2
B? (Parent)
B? C1 5 1
C1 6
Yes No C2 2 4
C2 6
Gini=0.333
Gini = 0.500 Node N1 Node N2

Gini(N1)
= 1 – (5/6)2 – (2/6)2 GiniDivision
= 0.194 = 7/12 * 0.194 +
5/12 * 0.528
Gini(N2) = 0.333
= 1 – (1/6)2 – (4/6)2
= 0.528
Attribut nominal : Calcul de l’index Gini

 Pour chaque ensemble de noeuds fils potentiels, trouver


l’index Gini de cet ensemble (GiniDivision)
 Choisir la division menant à GiniDivision la plus petite.

Division n-aire Division binaire

CarType CarType CarType


{Sports, {Family,
Family Sports Luxury {Family} {Sports}
Luxury} Luxury}
C1 1 2 1 C1 3 1 C1 2 2
C2 4 1 1 C2 2 4 C2 1 5
Gini 0.393 Gini 0.400 Gini 0.419

Il manque la division :
{Luxury} vs {Sports, Family}

43
Attribut continu : Calcul de l’index Gini
Décision binaire

 Le nombre maximum de divisions à Tid Refund Marital


Status
Taxable
Income Cheat
tester est le nombre de valeurs de
1 Yes Single 125K No
l’attribut
2 No Married 100K No
◦ Choisir le milieu entre 2 valeurs
3 No Single 70K No
consécutives
4 Yes Married 120K No
 Pour chaque v (valeur de division) faire
5 No Divorced 95K Yes
la matrice de décompte
6 No Married 60K No
A<V A≥V 7 Yes Divorced 220K No
Y 8 No Single 85K Yes

N 9 No Married 75K No

 Méthode triviale 10
10 No Single 90K Yes

◦ Pour chaque v,
calculer le GiniDiv
◦ Choisir v qui a le plus petit GiniDiv
◦ Méthode inefficace
Attribut continu : Calcul de l’index Gini …
Décision binaire
 Pour optimiser l’algo de choix de v
◦ Ordonner les données selon les valeurs de l’attribut de division
◦ Construire les matrices de division autour des changements de valeurs de
classe (en bleu)
◦ Calculer les GiniDiv pour ces matrices
◦ Choisir comme valeur de division la donnée donnant le petit GiniDiv

Cheat No No No Yes Yes Yes No No No No

Données Taxable Income

ordonnées 60 70 75 85 90 95 100 120 125 220


55 65 72 80 87 92 97 110 122 172 230
<= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= >
Valeurs de
Yes 0 3 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0
division
No 0 7 1 6 2 5 3 4 3 4 3 4 3 4 4 3 5 2 6 1 7 0

Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420

On fait les calculs seulement pour


45
PLAN
Aujourd’hui
 Introduction : un arbre de décision est un classificateur
 Définitions et exemples d’un arbre de décision
 Utilisation d’un arbre de décision
 Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
 Mesure d’impureté : entropie, gini, erreur de classification
 Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
 Avantage et désavantages des arbres de décision

46
La division basée sur l’entropie
 Entropie pour un nœud t:

Entropie(t)   p( j | t)log p( j | t)
j

 (NOTE : p( j | t) est la fréquence relative de la classe j dans le nœud t).


◦ Sa valeur maximum est (log2 nbclasse), c.-à-d. le max d’impureté
 Lorsque les classes sont uniformément distribuées dans le nœud
◦ Sa valeur minimum est 0,
 lorsque toutes les données du nœud appartiennent à la même classe
◦ Entropie pour une division : identique à Gini, c.-à-d. c’est la moyenne
pondéré de l’entropie des nœuds
◦ Comme pour l’index Gini, on choisit l’attribut et la (ou les) division(s) qui
minimise l’impureté

47
Ex. d’entropie pour 3 nœuds
Entropie(t )   p ( j | t ) log 2 p ( j | t )
j

C1 0 P(C1) = 0/6 = 0 P(C2) = 6/6 = 1


C2 6 Entropie = – 0 log 0 – 1 log 1 = – 0 – 0 = 0

C1 1 P(C1) = 1/6 P(C2) = 5/6


C2 5
Entropie = – (1/6) log2 (1/6) – (5/6) log2 (1/6) = 0.65

C1 2
C2 4 P(C1) = 2/6 P(C2) = 4/6
Entropie = – (2/6) log2 (2/6) – (4/6) log2 (4/6) = 0.92

48
Entropie d’une division selon un attribut
 L’entropie d’une division
◦ Soit p : le nœud parent
k : # de nœuds fils
ni : # de données dans le ième nœud fils,
n : # de données dans le nœud p.
k
ni
Entropiedivision   Entropie(i )
i 1 n

  Entropie( p)  Entropiedivision
◦ On choisit le gain le plus important
c.-à-d. l’entropiedivision le plus petit

◦ Utilisé par ID3 et C4.5 (vérifier pour C4.5)

◦ Favorise l’attribut ayant un # de valeurs élevées, mais qui n’a pas


nécessairement une sémantique pertinente (ex. : le # matricule).