Vous êtes sur la page 1sur 52

FDD et Arbres de Décision

Christelle Scharff
IFI
Juin 2004
Généralités
Arbres de décision
 Une structure de données utilisée comme modèle pour la
classification [Quinlan]
 Méthode récursive basée sur diviser-pour-régner pour créer des
sous-groupes (plus) purs (un sous-groupe est pur lorsque tous les
éléments du sous-groupe appartiennent à la même classe)
 Construction du plus petit arbre de décision possible
 Nœud = Test sur un attribut
 Une branche pour chaque valeur d’un attribut
 Les feuilles désignent la classe de l’objet à classer
 Taux d’erreur: La proportion des instances qui n’appartiennent pas à
la classe majoritaire de la branche
 Problèmes: Choix de l’attribut, terminaison

3
Algorithmes
 Les deux algorithmes les plus connus et les plus utilisés
(l'un ou l'autre ou les deux sont présents dans les
environnements de fouille de données) sont CART
(Classification And Regression Trees [BFOS84]) et C5
(version la plus récente après ID3 et C4.5 [Qui93]).

 [BFOS84] L. Breiman, J. H. Friedman, R. A. Olshen, and


C. J. Stone. Classification and regression trees. Technical
report, Wadsworth International, Monterey, CA, 1984.
 [Qui93] J. R. Quinlan. C4.5: Programs for Machine
Learning. Morgan Kaufmann, San Mateo, CA, 1993.

4
Découpages

Les décisions
correspondent à des
découpages des
données en
rectangles

IRIS
5
Météo et match de foot

Attribut but
2 classes: yes et
no
Prédire si un
match de foot va
avoir lieu ou non
Température est
un nominal

6 I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.
Météo et match de foot

2 classes: yes et no
Température est un numérique

I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.

7
Quel attribut faut-il sélectionner?

Classe
Classe: :YES Classe
NO : YES

8
Arbre de décision final

9
Arbres de décision et règles de
classification
Transformations

 Arbre de décision  Règles (Évident)


– Les arbres de décision représentent une collection
d’implications

 Règles  Arbre de décision (Non évident)

 Optimisations toujours possibles

11
Arbre de décision  Règles
 Attribution d’un prêt suivant la moyenne des soldes
courants (MS), l’age et la possession d’autres comptes
If MS > 5000 then Pret = Yes
If MS <= 5000 and age <= 25 then
true
false Pret = No

true false
If MS <= 5000 and age > 25 and
autres_comptes = Yes then Pret =
true
false Yes
If MS <= 5000 and age > 25 and
12 autres_comptes = No then Pret = No
Représentation d’une expression
par un arbre de décision
 Certaines fonctions ne sont pas facilement
représentées par des arbres de décision
 Exemple:
– La fonction paire définie par: le résultat est vrai si le nombre
d’attributs est pair
 Toute formule de la logique propositionnelle peut être
représentée par un arbre de décision
– La logique propositionnelle est construite à partir de:
 Variables propositionnelles
 D’opérateurs logiques: and, or, not,  (implication), 
(équivalence)

13
Règles  Arbre de décision
 Exemple:
if X and Y then A
if X and W and V then B
if Y and V then A
Peuvent être représentées par un arbre de décision.
De plus, Les règles peuvent être combinées en:
if Y and (X or V) then A
if X and W and V then B
Et on obtient un autre arbre de décision de ces 2
règles.

14
Le ou exclusif (XOR)

15
Un arbre de décision pour deux
règles simples

If a and b then x
If c and d then x

Il y a une
duplication d’un
sous-arbre dans
l’arbre
16
Un autre arbre avec duplication

17
Algorithme
Pour quels types de données?

 On se restreint d’abord aux données


nominales seulement
 Extension aux numériques:
– Il est possible de traiter les numériques en les
transformant en nominaux (ou ordinaux) par
discrétisation

19
Algorithme
 On considère un nœud
 On sélectionne un attribut pour ce nœud
 On crée une branche pour chaque valeur de
cet attribut
 Pour chaque branche, on regarde la pureté de
la classe obtenue
 On décide si on termine la branche ou non
 Si on ne termine pas le processus est répété

20
Algorithme

algorithm LearnDecisionTree(examples, attributes, default) returns a décision tree


inputs: examples, a set of examples
attributes, a set of attributes
default, default value for goal attribute
if examples is empty then return leaf labeled by default
else if all examples have same value for goal attribute // pure class
then return leaf labeled by value
else
bestatt = ChooseAttribute(attributes, examples) // to be defined
tree = a new décision tree with root test bestatt
for each value vi of bestatt do
examplesi = {éléments of examples with best = vi}
subtree = LearnDecisionTree(examplesi, attributes – bestatt,
MajorityValue: classe MajorityValue(examples))
majoritaire
add a branch to tree with label vi and subtree subtree
return tree
21
Analyse de l’algorithme
 m : le nombre d’attributs
 n : le nombre d’exemples/instances
 Hypothèse: La hauteur de l’arbre est O(log n)
 A chaque niveau de l’arbre, n instances sont
considérées (best = vi) (pire des cas)
– O(n log n) pour un attribut dans l’arbre complet
 Coût total: O(m n log n) car tous les attributs
sont considérés (pire des cas)

22
Combien d’arbres de décision?
 Considérons m attributs booléens (ne contenant pas le
but)
 Nous pouvons construire un arbre de décision pour
chaque fonction booléenne avec m attributs
 Il y a 2m façons de donner des valeurs aux attributs
 Le nombre de fonctions est le nombre de sous-
ensembles dans un ensemble à m éléments
m
 Donc, il y a 22 arbres de décision possibles.
 Comment sélectionner le meilleur?

23
Théorie de l’information
 Besoin d’une méthode pour bien choisir l’attribut
[Shannon & Weaver, 1949]
 Mesure de l’information en bits (pas dans le sens
ordinaire de bit – 0 ou 1)
– L’information peut être un décimal
 A chaque étape,à chaque point de choix dans l’arbre,
on va calculer le gain d’information
– L’attribut avec le plus grand gain d’information est sélectionné
 Méthode ID3 pour la construction de l’arbre de décision

24
Terminaison
 Tous les attributs ont été considérés
 Il n’est plus possible d’obtenir de gain
d’information
 Les feuilles contiennent un nombre prédéfini
d’éléments majoritaires
 Le maximum de pureté a été atteint
– Toutes les instances sont dans la même classe
 L’arbre a atteint une hauteur maximum

25
Exemple: Météo et match de foot

Attribut but
2 classes: yes et
no
Température est
un nominal
On veut pouvoir
décider/prédire si
un match de foot
va avoir lieu ou
pas suivant la
26 I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.
météo
Exercice

 Calculer:
– P(play = “yes”)
– P(play = “no”)
– P(play = “no” | overcast = “sunny”)
– P(play = “yes” | overcast = “sunny”)
– P(overcast = “sunny” and humidity = “high”)

27
Information = Entropie

1
Entropy (p1 , p 2 )   p1 log p1  p 2 log p 2 
log 2
pi est la probabilité de la classe i
pi = # d’occurrences de i / total # d’occurrences
Cette formule est généralisable

28
Entropie pour 3 probabilités

1
Entropy (p1 , p 2 , p 3 )   p1 log p1  p 2 log p 2  p 3 log p 3 
log 2
 p 2   p3 
Entropy (p1 , p 2 , p 3 )  Entropy (p1 , p 2  p 3 )  ((p 2  p 3 )Entropy ( ,  ))
 p 2  p3   p 2  p3 

Propriété de l’entropie
29
Première étape: Information Outlook

 2 3
Info ([2,3])  Entropy  , 
Outlook =  5 5
“Sunny”
Info ([2,3])  Entropy (0.4,0.6)
1
Info ([2,3])   0.4 log(0.4)  0.6 log(0.6) 
log 2
Info ([2,3])  0.971 bits

Similarly:
Outlook =
“Overcast” Info([4,0])  0.0 bits
Outlook = Info([3,2])  0.971 bits
30 “Rainy”
outlook

sunny overcast rainy

yes yes yes


yes yes yes
no yes yes
no yes no
no no

info([2,3]) info([4,0]) info([3,2])


0.971 0.0 0.971
31
Information pour l’arbre

La valeur de l’information pour l’arbre après


branchement est la somme pondérée des informations
de l’attribut de branchement.
Le poids est la fraction des instances dans chaque
branche.
Information pour l’arbre complet après le choix de
Outlook:
5 4 5
Info ([2,3], [4,0], [3,2])  Info ([2,3])  Info ([4,0])  Info ([3,2])
14 14 14

32 Info([2,3],[4,0],[3,2]) = 0.693
Information sans utiliser l’arbre

Outlook
9 5
Info ([9,5])  Entropy  , 
 14 14 
Info ([9,5])  0.940 bits

33
Gain d’information pour Outlook

gain(outlook)  Info ([9,5])  Info ([2,3], [4,0], [3,2])


gain(outlook)  0.940  0.693
gain(outlook)  0.247 bits
De même:

gain(temperature)  0.029 bits


Outlook est
gain(humidity )  0.152 bits choisi
gain(windy )  0.048 bits
34
Étape suivante

 Sélection d’un deuxième attribut


 On peut examiner:
– Température, Humidity ou Windy pour Outlook =
“sunny”
– Gain(“Température”) = 0.571 bits
– Gain(“Humidity”) = 0.971 bits Humidity est choisi
– Gain(“Windy”) = 0.020 bits
 Et on continue…

35
Choix du deuxième attribut

36
Arbre de décision final

37
Problèmes lies au calcul du gain
 Les attributs qui ont de nombreuses valeurs possibles
sont privilégiés
– Exemple: Les attributs clés
 Pour corriger ce problème, on utilise une autre mesure le
rapport de gain (gain ratio)

– Calcul de l’information de branchement dans l’arbre en utilisant:

Original Gain / Information de branchement

– Choisir l’attribut avec le plus grand rapport de gain

38
Information de branchement

Première étape:

5 4 5
Info ([5,4,5])  Entropy  , , 
 14 14 14 
Info ([5,4,5])  1.577

39
Calcul des gains de rapport

Outlook est choisi

I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.
40
Évaluer les arbres de décision

 2 types d’évaluation
– Les performances d’un modèle
– Les performances de la technique de FDD
 Quelle mesure utiliser?
– Taille du modèle
– Nombre d’erreurs

41
Extensions de l’algorithme

 Comment traiter:
– Les attributs numériques
– Les valeurs manquantes
 Comment simplifier le modèle pour éviter les
bruits?
 Comment tolérer les bruits?
 Comment interpréter les arbres de décision?

42
Comment traiter les attributs
numériques?
 Les attributs numériques sont transformés en ordinaux /
nominaux. Ce processus est appelé discrétisation
 Les valeurs des attributs sont divisées en intervalles
– Les valeurs des attributs sont triées
– Des séparations sont placées pour créer des intervalles / classes
pur/e/s
– On détermine les valeurs des attributs qui impliquent un changement de
classes
 Ce processus est très sensible au bruit
 Le nombre de classes doit être contrôlé
– Solution: On spécifie un nombre minimum d’éléments par intervalle
– On combine les intervalles qui définissent la même classe

43
Exemple: Les températures
 Étape 1: Tri et création des intervalles
64 | 65 | 68 69 70 | 71 72 | 72 75 75 | 80 | 81 83 | 85
Y |N |Y Y Y | N N| Y Y Y| N | Y Y | N
 Étape 2: Les anomalies sont traitées
64 | 65 | 68 69 70 | 71 72 72 | 75 75 | 80 | 81 83 | 85
Y |N |Y Y Y | N N Y|Y Y | N | Y Y | N
8 intervalles
 Étape 3: Un minimum de 3 éléments (de la même classe) par intervalle
64 65 68 69 70 | 71 72 72 75 75 | 80 81 83 85
Y N Y Y Y |N N Y Y Y | N Y Y N
3 intervalles
 Étape 4: Combiner les intervalles
64 65 68 69 70 71 72 72 75 75 | 80 81 83 85
Y N Y Y Y N N Y Y Y | N Y Y N
2 intervalles
 Étape 5: Changement de classe pour une température de 77.5 ((75 + 80) / 2)

44
Exercice

 Faire de même pour les humidités suivantes:

65 70 70 70 75 80 80 85 86 90 90 91 95 96
Y N Y Y Y Y Y N Y N Y N N Y

45
Arbre à un niveau

46
Les valeurs manquantes
 Ignorer les instances avec des valeurs manquantes
– Solution trop générale, et les valeurs manquantes peuvent ne pas être
importantes
 Ignorer les attributs avec des valeurs manquantes
– Peut-être pas faisable
 Traiter les valeurs manquantes comme des valeurs spéciales
– Les valeurs manquantes ont un sens particulier
 Estimer les valeurs manquantes
– Donner la valeur de l’attribut la plus répandue à l’attribut considéré
– Imputation de données en utilisant diverses méthodes
 Exemple : régression.

47
Surapprentissage (Overfitting)

 Adaptation et généralisation du modèle


 Résultats sur l’ensemble d’entraînement et sur
l’ensemble test

48
Simplification de l’arbre de décision

 Pour lutter contre l’overtiffing on peut simplifier


l’arbre
 Simplification avant
– Simplifier étape par étape pendant la construction
de l’arbre de décision
 Simplification arrière
– Simplification d’un arbre de décision existant

49
Interprétation des arbres de
décision

 Une description adaptée et lisible par tout le


monde

En général, les personnes astigmates doivent avoir


une prescription de lentilles de contacte dures.

50
La méthode
 Apprentissage supervisé
 Le résultat est lisible
– Outils de navigation dans l’arbre
 Les valeurs manquantes peuvent être traitées
 Tous les types d’attributs peuvent être pris en compte
 Elle peut être utilisée comme près traitement
 La classification d’un exemple est très efficace
 Moins efficace pour un nombre important de classes
 Elle n’est pas incrémentale

51
Références

 http://www.grappa.univ-lille3.fr/polys/fouille/
 I. H. Witten, and E. Frank. Data Mining :
Practical Machine Learning Tools and
Techniques with Java Implementations.
Morgan Kaufmann.

52

Vous aimerez peut-être aussi