Title: FDD et Arbres de D
1FDD et Arbres de Décision
- Christelle Scharff
- IFI
- Juin 2004
2Généralités
3Arbres 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 dun attribut
- Les feuilles désignent la classe de lobjet à
classer - Taux derreur La proportion des instances qui
nappartiennent pas à la classe majoritaire de la
branche - Problèmes Choix de lattribut, terminaison
4Algorithmes
- 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.
5Découpages
Les décisions correspondent à des découpages des
données en rectangles
IRIS
6Mé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
I.H. Witten and E. Frank, Data Mining, Morgan
Kaufmann Pub., 2000.
7Mé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.
8Quel attribut faut-il sélectionner?
ClasseYES
Classe YES
Classe NO
9Arbre de décision final
10Arbres de décision et règles de classification
11Transformations
- Arbre de décision ? Règles (Évident)
- Les arbres de décision représentent une
collection dimplications - Règles ? Arbre de décision (Non évident)
- Optimisations toujours possibles
12Arbre de décision ? Règles
- Attribution dun prêt suivant la moyenne des
soldes courants (MS), lage et la possession
dautres comptes
If MS gt 5000 then Pret Yes If MS lt 5000 and
age lt 25 then Pret No If MS lt 5000 and age gt
25 and autres_comptes Yes then Pret Yes If MS
lt 5000 and age gt 25 and autres_comptes No then
Pret No
true
false
true
false
true
false
13Représentation dune 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 dattributs 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
- Dopérateurs logiques and, or, not, ?
(implication), ? (équivalence)
14Rè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.
15Le ou exclusif (XOR)
16Un 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 dun sous-arbre dans
larbre
17Un autre arbre avec duplication
18Algorithme
19Pour quels types de données?
- On se restreint dabord 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
20Algorithme
- 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é
21Algorithme
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(examples)) add a
branch to tree with label vi and subtree
subtree return tree
MajorityValue classe majoritaire
22Analyse de lalgorithme
- m le nombre dattributs
- n le nombre dexemples/instances
- Hypothèse La hauteur de larbre est O(log n)
- A chaque niveau de larbre, n instances sont
considérées (best vi) (pire des cas) - O(n log n) pour un attribut dans larbre complet
- Coût total O(m n log n) car tous les attributs
sont considérés (pire des cas)
23Combien darbres 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?
24Théorie de linformation
- Besoin dune méthode pour bien choisir lattribut
Shannon Weaver, 1949 - Mesure de linformation en bits (pas dans le sens
ordinaire de bit 0 ou 1) - Linformation peut être un décimal
- A chaque étape,à chaque point de choix dans
larbre, on va calculer le gain dinformation - Lattribut avec le plus grand gain dinformation
est sélectionné - Méthode ID3 pour la construction de larbre de
décision
25Terminaison
- Tous les attributs ont été considérés
- Il nest plus possible dobtenir de gain
dinformation - 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
- Larbre a atteint une hauteur maximum
26Exemple 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
I.H. Witten and E. Frank, Data Mining, Morgan
Kaufmann Pub., 2000.
27Exercice
- Calculer
- P(play yes)
- P(play no)
- P(play no overcast sunny)
- P(play yes overcast sunny)
- P(overcast sunny and humidity high)
28Information Entropie
pi est la probabilité de la classe i pi
doccurrences de i / total doccurrences Cette
formule est généralisable
29Entropie pour 3 probabilités
Propriété de lentropie
30Première étape Information Outlook
Outlook Sunny
Similarly
Outlook Overcast
Outlook Rainy
31info(2,3) info(4,0) info(3,2)
0.971 0.0 0.971
32Information pour larbre
La valeur de linformation pour larbre
après branchement est la somme pondérée des
informations de lattribut de branchement. Le
poids est la fraction des instances dans chaque
branche.
Information pour larbre complet après le choix
de Outlook
Info(2,3,4,0,3,2) 0.693
33Information sans utiliser larbre
Outlook
34Gain dinformation pour Outlook
De même
Outlook est choisi
35Étape suivante
- Sélection dun 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
36Choix du deuxième attribut
37Arbre de décision final
38Problè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 linformation de branchement dans
larbre en utilisant - Original Gain / Information de branchement
- Choisir lattribut avec le plus grand rapport de
gain
39Information de branchement
Première étape
40Calcul des gains de rapport
I.H. Witten and E. Frank, Data Mining, Morgan
Kaufmann Pub., 2000.
41Évaluer les arbres de décision
- 2 types dévaluation
- Les performances dun modèle
- Les performances de la technique de FDD
- Quelle mesure utiliser?
- Taille du modèle
- Nombre derreurs
42Extensions de lalgorithme
- 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?
43Comment 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
44Exemple 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)
45Exercice
- 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
46Arbre à un niveau
47Les 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 lattribut la plus répandue à
lattribut considéré - Imputation de données en utilisant diverses
méthodes - Exemple régression.
48Surapprentissage (Overfitting)
- Adaptation et généralisation du modèle
- Résultats sur lensemble dentraînement et sur
lensemble test
49Simplification de larbre de décision
- Pour lutter contre lovertiffing on peut
simplifier larbre - Simplification avant
- Simplifier étape par étape pendant la
construction de larbre de décision - Simplification arrière
- Simplification dun arbre de décision existant
50Interpré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.
51La méthode
- Apprentissage supervisé
- Le résultat est lisible
- Outils de navigation dans larbre
- Les valeurs manquantes peuvent être traitées
- Tous les types dattributs peuvent être pris en
compte - Elle peut être utilisée comme près traitement
- La classification dun exemple est très efficace
- Moins efficace pour un nombre important de
classes - Elle nest pas incrémentale
52Ré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.