DATA MINING Arbres de décision Juan Manuel Torres juan-manuel.torres@univ-avignon.fr www.lia.univ-avignon.fr/chercheurs/torres/cours/dm LIA / Université d'avignon Octobre 2006 Généralités
Arbres de décision (1) Structure de données utilisée comme modèle our la classification [Quinlan] Méthode récursive basée sur diviser-our-régner our créer des sous-groues (lus) urs (un sous-groue est ur lorsque tous les éléments du sous-groue aartiennent à la même classe) Construction du lus etit arbre de décision ossible 3 Arbres de décision (2) Nœud = Test sur un attribut Une branche our chaque valeur d un attribut Feuilles : désignent la classe de l objet à classer Taux d erreur: roortion des instances qui n aartiennent as à la classe majoritaire de la branche Problèmes: Choix de l attribut, terminaison 4
Algorithmes 2 algorithmes les lus connus et les lus utilisés (l'un ou l'autre ou les deux sont résents dans les environnements de fouille de données) : CART (Classification And Regression Trees [BFOS84]) et C5 (version la lus récente arès ID3 et C4.5 [Qui93]). [BFOS84] L. Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone. Classification and regression trees. Technical reort, Wadsworth International, Monterey, CA, 1984 [Qui93] J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, San Mateo, CA, 1993 5 Découages Les décisions corresondent à des découages des données en rectangles Données IRIS 6
Météo et match de foot Attribut 2 classes: yes et no Prédire si un match de foot va avoir lieu ou non Temérature est un nominal I.H. Witten and E. Frank, Data Mining, Morgan Kaufmann Pub., 2000. 7 Météo et match de foot 2 classes: yes et no Temérature est un numérique I.H. Witten and E. Frank, Data Mining, Morgan Kaufmann Pub., 2000. 8
Quel attribut faut-il sélectionner? Classe: NO Classe :YES Classe : YES 9 Arbre de décision final 10
Arbres de décision et règles de classification Transformations Arbre de décision Règles (Évident) Les arbres de décision rerésentent une collection d imlications Règles Arbre de décision (Non évident) Otimisations toujours ossibles 12
Arbre de décision Règles Attribution d un rêt suivant la moyenne des soldes courants (MS), l age et la ossession d autres comtes If MS > 5000 then Pret = Yes If MS <= 5000 and age <= 25 then Pret = No If MS <= 5000 and age > 25 and autres_comtes = Yes then Pret = Yes If MS <= 5000 and age > 25 and autres_comtes = No then Pret = No 13 Rerésentation d une exression ar un arbre de décision Certaines fonctions ne sont as facilement rerésentées ar des arbres de décision Exemle: Fonction aire : le résultat est vrai si le nombre d attributs est air Toute formule de la logique roositionnelle eut être rerésentée ar un arbre de décision La logique roositionnelle est construite à artir de: Variables roositionnelles D oérateurs logiques: and, or, not, (imlication), (équivalence) 14
Règles Arbre de décision Exemle: if X and Y then A if X and W and V then B if Y and V then A Peuvent être rerésentées ar un arbre de décision. De lus, Les règles euvent ê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 15 Le ou exclusif (XOR) 16
Un arbre de décision our deux règles simles If a and b then x If c and d then x Il y a une dulication d un sous-arbre dans l arbre 17 Un autre arbre avec dulication 18
Algorithme Pour quels tyes de données? Restreint aux données nominales seulement Extension aux numériques: Traiter les numériques en les transformant en nominaux (ou ordinaux) ar discrétisation 20
Algorithme Considérer un nœud Sélectionner un attribut our ce nœud Créer une branche our chaque valeur de cet attribut Pour chaque branche, regarder la ureté de la classe obtenue Décider si on termine la branche ou non Si on ne termine as le rocessus est réété 21 Algorithme algorithm LearnDecisionTree(examles, attributes, default) returns a décision tree inuts: examles, a set of examles attributes, a set of attributes default, default value for goal attribute if examles is emty then return leaf labeled by default else if all examles have same value for goal attribute // ure class then return leaf labeled by value else bestatt = ChooseAttribute(attributes, examles) // to be defined tree = a new décision tree with root test bestatt for each value v i of bestatt do examles i = {éléments of examles with best = v i } subtree = LearnDecisionTree(examles i, attributes bestatt, MajorityValue(examles)) add a branch to tree with label v i and subtree subtree return tree MajorityValue: classe majoritaire 22
Analyse de l algorithme m : le nombre d attributs n : le nombre d exemles/instances Hyothèse: La hauteur de l arbre est O(log n) A chaque niveau de l arbre, n instances sont considérées (best = v i ) (ire des cas) O(n log n) our un attribut dans l arbre comlet Coût total: O(m n log n) car tous les attributs sont considérés (ire des cas) 23 Combien d arbres de décision? Considérons m attributs booléens (ne contenant as le but) Nous ouvons construire un arbre de décision our chaque fonction booléenne avec m attributs Il y a 2 m façons de donner des valeurs aux attributs Le nombre de fonctions est le nombre de sousensembles dans un ensemble à m éléments Donc, il y a 2 2m arbres de décision ossibles. Comment sélectionner le meilleur? 24
Théorie de l information Besoin d une méthode our bien choisir l attribut [Shannon & Weaver, 1949] Mesure de l information en bits L information eut être un décimal A chaque étae,à chaque oint de choix dans l arbre, on va calculer le gain d information L attribut avec le lus grand gain d information est sélectionné Méthode ID3 our la construction de l arbre de décision 25 Terminaison Tous les attributs ont été considérés Il n est lus ossible d obtenir de gain d information Les feuilles contiennent un nombre rédéfini d éléments majoritaires Le maximum de ureté a été atteint Toutes les instances sont dans la même classe L arbre a atteint une hauteur maximum 26
Exemle: Météo et match de foot Attribut but 2 classes: yes et no Temérature est un nominal I.H. Witten and E. Frank, Data Mining, Morgan Kaufmann Pub., 2000. On veut ouvoir décider/rédire si un match de foot va avoir lieu ou as suivant la météo 27 Exercice Calculer: P(lay = yes ) P(lay = no ) P(lay = no overcast = sunny ) P(lay = yes overcast = sunny ) P(overcast = sunny and humidity = high ) 28
29 Information = Entroie ( ) 2 2 1 1 2 1 log log log 2 1 ), ( Entroy = i est la robabilité de la classe i i = # d occurrences de i / total # d occurrences Cette formule est généralisable 30 Entroie our 3 robabilités ( ) )), ( ) (( ), ( ),, ( log log log log 2 1 ),, ( 3 2 3 3 2 2 3 2 3 2 1 3 2 1 3 3 2 2 1 1 3 2 1 + + + + + = = Entroy Entroy Entroy Entroy Proriété de l entroie
Première étae: Information Outlook Outlook = Sunny 2 3 Info([2,3]) = Entroy, 5 5 Info([2,3]) = Entroy(0.4,0.6) Info([2,3]) = 1 log 2 Info([2,3]) = 0.971bits ( 0.4 log(0.4) 0.6 log(0.6) ) Aussi : Outlook = Overcast Outlook = Rainy Info([4,0]) = 0.0 bits Info([3,2]) = 0.971bits 31 yes yes no no no outlook sunny Sunny overcast rainy yes yes yes yes yes yes yes no no info([2,3]) info([4,0]) info([3,2]) 0.971 0.0 0.971 32
Information our l arbre La valeur de l information our l arbre arès branchement est la somme ondérée des informations de l attribut de branchement. Le oids est la fraction des instances dans chaque branche. Information our l arbre comlet arè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 Info([2,3],[4,0],[3,2]) = 0.693 33 Information sans utiliser l arbre PLAY Info([9,5]) Info([9,5]) = = 9 Entroy 14 0.940 bits, 5 14 34
Gain d information our Outlook gain( outlook) gain( outlook) gain( outlook) De même: = = = Info([9,5]) Info([2,3],[4,0],[3,2]) 0.940 0.693 0.247 bits gain( temerature) = 0.029 bits gain( humidity) = 0.152 bits gain( windy) = 0.048 bits Outlook est choisi 35 Étae suivante Sélection d un deuxième attribut On eut examiner: Temérature, Humidity ou Windy our Outlook = sunny Gain( Temérature ) = 0.571 bits Gain( Humidity ) = 0.971 bits Gain( Windy ) = 0.020 bits Humidity est choisi Et on continue 36
Choix du deuxième attribut 37 Arbre de décision final 38
Problèmes lies au calcul du gain Les attributs qui ont de nombreuses valeurs ossibles sont rivilégiés Exemle: Les attributs clés Pour corriger ce roblème, on utilise une autre mesure le raort 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 lus grand raort de gain 39 Information de branchement Première étae: Sunny Over Rainy Info([5,4,5]) Info([5,4,5]) = Entroy = 1.577 5 14, 4 14, 5 14 40
Calcul des gains de raort Outlook est choisi I.H. Witten and E. Frank, Data Mining, Morgan Kaufmann Pub., 2000. 41 Évaluer les arbres de décision Tyes d évaluation Les erformances d un modèle Les erformances de la technique de FDD Quelle mesure utiliser? Taille du modèle Nombre d erreurs 42
Extensions de l algorithme Comment traiter: Les attributs numériques Les valeurs manquantes Comment simlifier le modèle our éviter les bruits? Comment tolérer les bruits? Comment interréter les arbres de décision? 43 Comment traiter les attributs numériques? Les attributs numériques sont transformés en ordinaux / nominaux : Discrétisation Les valeurs des attributs sont divisées en intervalles Les valeurs des attributs sont triées Des séarations sont lacées our créer des intervalles / classes ur/e/s On détermine les valeurs des attributs qui imliquent un changement de classes Processus très sensible au bruit Le nombre de classes doit être contrôlé Solution: On sécifie un nombre minimum d éléments ar intervalle On combine les intervalles qui définissent la même classe 44
Exemle: Les temératures Étae 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 Étae 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 Étae 3: Un minimum de 3 éléments ar 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 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 45 Exercice Faire de même our 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 46
Arbre à un niveau 47 Les valeurs manquantes Ignorer les instances avec des valeurs manquantes Solution tro générale, et les valeurs manquantes euvent ne as être imortantes Ignorer les attributs avec des valeurs manquantes Peut-être as faisable Traiter les valeurs manquantes comme des valeurs séciales Les valeurs manquantes ont un sens articulier Estimer les valeurs manquantes Donner la valeur de l attribut la lus réandue à l attribut considéré Imutation de données en utilisant diverses méthodes Exemle : régression. 48
Surarentissage (Overfitting) Adatation et généralisation du modèle Résultats sur l ensemble d entraînement et sur l ensemble test 49 Simlification de l arbre de décision Pour lutter contre l overtiffing on eut simlifier l arbre Simlification avant Simlifier étae ar étae endant la construction de l arbre de décision Simlification arrière Simlification d un arbre de décision existant 50
Interrétation des arbres de décision Une descrition adatée et lisible ar tout le monde En général, les ersonnes astigmates doivent avoir une rescrition de lentilles de contacte dures. 51 La méthode Arentissage suervisé Le résultat est lisible Outils de navigation dans l arbre Les valeurs manquantes euvent être traitées Tous les tyes d attributs euvent être ris en comte Elle eut être utilisée comme rès traitement La classification d un exemle est très efficace Moins efficace our un nombre imortant de classes Elle n est as incrémentale 52
Références I. H. Witten, and E. Frank. Data Mining : Practical Machine Learning Tools and Techniques with Java Imlementations. Morgan Kaufmann. 53