fdd et arbres de décision christelle scharff ifi juin 2004

52
FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

Upload: gysbert-brunel

Post on 04-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

FDD et Arbres de Décision

Christelle Scharff

IFI

Juin 2004

Page 2: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

Généralités

Page 3: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

3

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

Page 4: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

4

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.

Page 5: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

5

Découpages

IRIS

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

Page 6: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

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

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

Page 7: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

7

2 classes: yes et no

Température est un numérique

Météo et match de foot

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

Page 8: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

8

Quel attribut faut-il sélectionner?

Classe: NO

Classe:YES Classe

: YES

Page 9: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

9

Arbre de décision final

Page 10: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

Arbres de décision et règles de classification

Page 11: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

11

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

Page 12: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

12

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 Pret = No

If MS <= 5000 and age > 25 and autres_comptes = Yes then Pret = Yes

If MS <= 5000 and age > 25 and autres_comptes = No then Pret = No

true

true

false

false

false

true

Page 13: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

13

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)

Page 14: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

14

Règles Arbre de décision

Exemple:if X and Y then Aif X and W and V then Bif Y and V then APeuvent ê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 Aif X and W and V then BEt on obtient un autre arbre de décision de ces 2 règles.

Page 15: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

15

Le ou exclusif (XOR)

Page 16: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

16

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

Page 17: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

17

Un autre arbre avec duplication

Page 18: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

Algorithme

Page 19: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

19

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

Page 20: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

20

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é

Page 21: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

21

Algorithme

algorithm LearnDecisionTree(examples, attributes, default) returns a décision treeinputs: examples, a set of examples

attributes, a set of attributesdefault, default value for goal attribute

if examples is empty then return leaf labeled by defaultelse if all examples have same value for goal attribute // pure class

then return leaf labeled by valueelse

bestatt = ChooseAttribute(attributes, examples) // to be definedtree = a new décision tree with root test bestattfor each value vi of bestatt do

examplesi = {éléments of examples with best = vi}subtree = LearnDecisionTree(examplesi, attributes – bestatt,

MajorityValue(examples))add a branch to tree with label vi and subtree subtree

return tree

MajorityValue: classe majoritaire

Page 22: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

22

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)

Page 23: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

23

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 Donc, il y a 22m

arbres de décision possibles. Comment sélectionner le meilleur?

Page 24: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

24

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

Page 25: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

25

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

Page 26: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

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

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 météo

Page 27: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

27

Exercice

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

Page 28: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

28

Information = Entropie

221121 loglog2log

1),( ppppppEntropy

pi est la probabilité de la classe i

pi = # d’occurrences de i / total # d’occurrences

Cette formule est généralisable

Page 29: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

29

Entropie pour 3 probabilités

)),()((),(),,(

logloglog2log

1),,(

32

3

32

232321321

332211321

pp

p

pp

pEntropypppppEntropypppEntropy

pppppppppEntropy

Propriété de l’entropie

Page 30: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

30

Première étape: Information Outlook

bitsInfo

Info

EntropyInfo

EntropyInfo

971.0])3,2([

)6.0log(6.0)4.0log(4.02log

1])3,2([

)6.0,4.0(])3,2([

5

3,

5

2])3,2([

bitsInfo

bitsInfo

971.0])2,3([

0.0])0,4([

Similarly:

Outlook = “Sunny”

Outlook = “Overcast”

Outlook = “Rainy”

Page 31: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

31

outlook

yesyesnonono

yesyesyesyes

yesyesyesnono

sunny overcast rainy

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

Page 32: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

32

Information pour l’arbre

])2,3([14

5])0,4([

14

4])3,2([

14

5])2,3[],0,4[],3,2([ InfoInfoInfoInfo

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.

Info([2,3],[4,0],[3,2]) = 0.693

Information pour l’arbre complet après le choix de Outlook:

Page 33: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

33

Information sans utiliser l’arbre

bitsInfo

EntropyInfo

940.0])5,9([

14

5,

14

9])5,9([

Outlook

Page 34: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

34

Gain d’information pour Outlook

bitsoutlookgain

outlookgain

InfoInfooutlookgain

247.0)(

693.0940.0)(

])2,3[],0,4[],3,2([])5,9([)(

De même:

bitswindygain

bitshumiditygain

bitsetemperaturgain

048.0)(

152.0)(

029.0)(

Outlook est choisi

Page 35: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

35

É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– Gain(“Windy”) = 0.020 bits

Et on continue…

Humidity est choisi

Page 36: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

36

Choix du deuxième attribut

Page 37: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

37

Arbre de décision final

Page 38: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

38

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

Page 39: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

39

Information de branchement

577.1])5,4,5([

14

5,

14

4,

14

5])5,4,5([

Info

EntropyInfo

Première étape:

Page 40: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

40

Calcul des gains de rapport

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

Outlook est choisi

Page 41: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

41

É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

Page 42: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

42

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?

Page 43: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

43

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

Page 44: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

44

Exemple: Les températures

Étape 1: Tri et création des intervalles64 | 65 | 68 69 70 | 71 72 | 72 75 75 | 80 | 81 83 | 85Y | N | Y Y Y | N N | Y Y Y | N | Y Y | N

Étape 2: Les anomalies sont traitées64 | 65 | 68 69 70 | 71 72 72 | 75 75 | 80 | 81 83 | 85Y | N | Y Y Y | N N Y | Y Y | N | Y Y | N8 intervalles

Étape 3: Un minimum de 3 éléments (de la même classe) par intervalle64 65 68 69 70 | 71 72 72 75 75 | 80 81 83 85Y N Y Y Y | N N Y Y Y | N Y Y N3 intervalles

Étape 4: Combiner les intervalles64 65 68 69 70 71 72 72 75 75 | 80 81 83 85Y N Y Y Y N N Y Y Y | N Y Y N2 intervalles

Étape 5: Changement de classe pour une température de 77.5 ((75 + 80) / 2)

Page 45: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

45

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

Page 46: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

46

Arbre à un niveau

Page 47: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

47

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.

Page 48: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

48

Surapprentissage (Overfitting)

Adaptation et généralisation du modèle Résultats sur l’ensemble d’entraînement et sur

l’ensemble test

Page 49: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

49

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

Page 50: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

50

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.

Page 51: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

51

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

Page 52: FDD et Arbres de Décision Christelle Scharff IFI Juin 2004

52

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.