Cours 2 - Arbres de Decision
Cours 2 - Arbres de Decision
Cours 2 - Arbres de Decision
Décision
● MCC :
– (CC+Exam)/2
– CC : pas de projet, notes sur les rendus de TP (et
plus si affinités)
● Eléments du cours sur la page :
http://pageperso.lif.univ-mrs.fr/~remi.eyraud/CAD/
1
Arbres de Décision
&
Forêts aléatoires
2
Les arbres de décision
Un arbre de décision est un arbre orienté dont :
Les noeuds internes sont étiquetés par un test applicable à
tout individu, généralement sur un attribut de description.
Les arcs contiennent les résultats du test.
Les feuilles sont étiquetés par une classe par défaut.
3
Les arbres de décision (2)
5
Classification avec des arbres de
décision exemple : formalisation
Exemple : Evaluation du risque cardiaque à partir d'une
table Individu contenant les attributs :
Age (entier positif)
Fumeur (O ou N)
Taille (entier positif)
Poids (entier positif)
Sexe (H ou F)
On demande à un cardiologue d'étiqueter une partie de la
base (disons 5%) en 2 classes : individu à risque ou
non.
6 6
Classification avec des arbres de
décision exemple : discrètisation
Ces attributs doivent être discrètisés :
Age (entier positif)
Taille (entier positif)
Poids (entier positif)
Proposition :
Age en trois catégories : jeune (<20 ans), actif (entre 21 et 50),
senior (>50)
On applique une formule liant taille et poids et on obtient un
attribut Corpulence prenant trois valeurs : faible, moyenne,
forte.
7 7
Classification avec des arbres de
décision exemple : échantillon
Voici les données étiquetées par le cardiologue :
Sexe Fumeur Corpulence Risque
F O faible N
F O forte O
F O faible O
F N forte O
H O faible O
H N moyenne N
H N forte N
F N moyenne O
H N forte O
F N moyenne O
8 8
Fouille avec des arbres de décision
exemple (apprentissage)
Choix de la racine de l'arbre : le pivot qui “disperse” le
mieux les 2 classes
Age ? Corp. ?
Moyenne
>20 <50
le
fo
>5
0
ib
<2
rte
0
fa
1N, 1O 2N, 3O 0N, 3O 1N, 2O 1N, 2O 1N, 3O
Sexe ? Fum. ?
H
F
Moyenne
>20 <50
le
fo
>5
0
ib
<2
rte
0
fa
1N, 1O 2N, 3O 0N, 3O 1N, 2O 1N, 2O 1N, 3O
Sexe ? Fum. ?
H
F
>20 <50
>5
0
<2
0
1N, 1O 2N, 3O O
On a (première branche à gauche) :
fo
ib
H
N
F
rte
fa
>20 <50
>5
0
<2
0
Corp. ? 2N, 3O O
Moyenne
le
fo
ib
rte
fa
N ? O
Après calcul, en testant sur l'attribut Sexe (puis
corpulence) dans la branche restant à déterminer on
disperse entièrement les classes.
12
Fouille avec des arbres de décision
exemple (apprentissage)
Résultat final : Age ?
>20 <50
>50
<20
Corp. ? Sexe ? O
Moyenne
le
fo
ib
H
F
rte
fa
N ? O O Corp. ?
Moyenne
le
fo
ib
rte
fa
O N N
On peut alors classer toutes les données d'apprentissage.
13
Arbre de décision de risque
empirique minimal
Il est toujours possible de trouver un arbre de décision
minimisant le risque empirique (= erreur sur
l'échantillon) sur un jeu de données. Mais cet arbre
est bien souvent un mauvais classifieur. Pourquoi ?
Le plus petit arbre de décision compatible avec les
données est l'hypothèse la meilleure en
généralisation. Pourquoi ?
La théorie de l'apprentissage statistique de Vapnick
permet de répondre formellement à ces questions.
Trouver le plus petit arbre de décision compatible avec
un échantillon est un problème NP-complet :-( 14
Qu'est-ce qu'on peut faire ?
G
G
G
G
P
P
P
P
21
Sur l'exemple des matchs
Avec le critère de Gini et en désignant les attributs
descriptifs Dom, Bal, MCC et MPG nous avons :
<4G,4P>
DOM ?
V F
<3G,2P> <1G,2P>
<4,4> Bal ?
V F
<3,1> <1,3>
<4,4> MCC ?
V F
<2,3> <2,1>
<4,4> MPG ?
V F
<2,2> <2,2>
V F
<3,1> <1,3>
1 2
28
Autre fonction de test : l'entropie
● Il y a d'autres indices que Gini pour tester la
dispersion des classes. Le plus utilisé est
l'entropie :
Soit S l'échantillon et S1, S2, ... Sk sa partition
suivant les classes (S1 sont les données de S de
la classe 1, etc.). L'entropie de l'échantillon
est :
Entropy(S) = ∑i |Si|/|S|* log(|Si|/|S|)
29
Problème des arbres de décision
Un arbre peut avoir une erreur apparente nulle mais
une erreur réelle importante, c'est-à-dire être bien
adapté à l'échantillon mais avoir un pouvoir de
prédiction
faible.
Problème de
surapprentissage
30
Eviter le sur-apprentissage
On peut utiliser un ensemble de validation pour arrêter
la construction de l'arbre quand l'estimation de
l'erreur ne diminue plus.
On peut construire l'arbre en entier, puis l'élaguer
31
Elagage d'arbre de décision (CART)
Supposons qu'on a construit un arbre T0.
α = ∆Remp(S) / Tp|-1 où ∆Remp(S) est le nombre d'erreurs
supplémentaires que commet l'arbre de décision sur S
lorsqu'on l'élague à la position p et où |Tp|-1 mesure le
nombre de feuilles supprimées.
Ti+1 est obtenu en élaguant Ti en un nœud en lequel α est
minimal. Soit T0, ... , Ti, ... , Tt la suite obtenue, Tt
étant réduit à une feuille. On sélectionne l'arbre Ti dont
le nombre d'erreurs calculé sur un ensemble de
validation Sval est minimal.
32
Retours à l'exemple
On dispose de l'ensemble de validation suivant :
34
Elagage d'arbre de décision (C4.5)
L'idée est d'élaguer en estimant l'erreur : si la somme
(pondérée) des erreurs des fils est supérieure à celle du
père, alors on élague.
On peut aussi tenir compte de l'intervalle de confiance :
[e-u√(e(1-e)/n); e+u√(e(1-e)/n)] pour un u donné.
C4.5 compare les bornes sup. de l'intervalle de confiance
Exemple sur un nœud binaire p ayant deux fils p1 et p2
C4.5 élague si
|Sp1|/|S|*(e(p1)-u√(e(p1)(1-e(p1))/|Sp1|) +
|Sp2|/|S|*(e(p2)-u√(e(p2)(1-e(p2))/|Sp2|)
est supérieur à |Sp|/|S|*(e(p)-u√(e(p)(1-e(p))/|Sp|)
35
Complément sur les attributs
Les propriétés vues sur les attributs binaires s'étendent
aux attributs n-aires
Attributs discrets : il est possible (si on veut des arbres
binaire par exemple) de regrouper a priori des
valeurs des attributs.
Attribut continus : processus de discrétisation (souvent
à l'aide d'inégalités).
Attributs à valeurs manquantes :
En classement : prendre la branche majoritaire
En apprentissage : donner un valeur suivant la distribution
(locale ou globale sur l'échantillon) 36
Pour être complet
On peut facilement introduire une matrice de coût
de prédictions erronées : cela permet de pénaliser
un type d'erreur plus qu'un autre.
37
Forêts aléatoires (Random forests)
Instabilité des arbres de décision: Un des
inconvénients principaux des méthodes
d'apprentissage par arbres de décision est leur
instabilité. Sur des données réelles, un attribut est
choisi plutôt qu'un autre se joue à peu de chose.
Or le choix d'un attribut-test, surtout s'il est près
de la racine, influence grandement le reste de la
construction. Ces algorithmes ont une variance
importante.
➔ Une solution est d'apprendre plusieurs arbres
40
k-plus proches voisins
● Objectif : pouvoir prédire la classe d'un nouvel exemple
en utilisant les exemples déjà connus
● Principe :
– regarder la classe des k exemples les plus proches (k=1, 3,
…)
– Affecter la classe majoritaire dans le voisinage au nouvel
exemple
Exemple : 2 classes, dimension 2, k=1
A
B
41
Algorithme
● Soit S ={(x,y) | x ∈ X ⊆ Rd, y∈ Y}
● Soit x' l'exemple à classer
k-ppv(S, x') :
pour chaque exemple (x,y) dans S :
Calculer la distance D(x,x')
pour chaque x'' dans k-voisinage(x') :
Ajouter 1 au nombre d'occurrences de y''
Attribuer à x' la classe la plus fréquente
42
Cas d'égalité
● Que faire en cas d'égalité ?
– Augmenter k de 1
– Tirer au hasard la classe parmi les ambiguës
– Pondération des exemples par leur distance à x'
43
Pour aller plus loin
● Complexité : O(d|S|)
● On peut :
– Réduire l'ensemble d'apprentissage a priori
– Organiser les données dans des structures
permettant d'accélérer la décision
44