FDD et Arbres de Décision

Slides:



Advertisements
Présentations similaires
Constructive Volume Geometry (CVG) Article de Min Chen & John V. Trucker COMPUTER GRAPHICS Benoît Capelli – Stéphane Renaudie DESS IMM
Advertisements

1 3.Langage XSL = XSLT + XSL-FO transformationFormatage.
Combiner des apprenants: le boosting
A. Cornuéjols IAA (basé sur Rob Schapires IJCAI99 talk) Combiner des apprenants: le boosting.
Classification et prédiction
Classification et prédiction
Regroupement (clustering)
Apprentissage supervisé à partir de séquences
Regroupement (clustering)
Apprentissage relationnel Apprentissage Data Mining ILP.
Classification supervisée Marine Campedel avril 2005.
Les Structures. Introduction : Imaginons que lon veuille afficher les notes dune classe délèves par ordre croissant avec les noms et prénoms de chaque.
Diagram-Based Techniques
Application de réseaux bayésiens à la détection de fumées polluantes
Yann Chevaleyre et Jean-Daniel Zucker
Christelle Scharff IFI Juin 2004
Le modèle de Bayes Christelle Scharff IFI La classification de Bayes Une méthode simple de classification supervisée Basée sur lutilisation du Théorème.
Les attributs, leurs types, leurs valeurs Christelle Scharff IFI Juin 2004.
Christelle Scharff IFI 2004
Reconnaissance des formes cours de D.E.A. Introduction
Classification automatique de documents
Apprendre à partir des observations
ALGORITHMES RECURSIFS
Algorithmes Branch & Bound
Présentation de la séquence de cours sur les interactions HTML-javascript Laure Walser, 11 juin 2010.
Applications du perceptron multicouche
Introduction à DOM Maroua Bouzid
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Méthode des k plus proches voisins
28 novembre 2012 Grégory Petit
Chaîne logistique : - Approvisionnement - Stocks
Classification Introduction k-NN Arbres de décision Réseaux baysiens
28/04/2003 ©PEPITe S.A.
La Classification
Arbres Rouge noir Démo : INF3105 Structures de données et algorithmes
Programmation 2: IFT1025 Jian-Yun Nie H 2009.
XSLT Langage de transformation darbre par Yves Bekkers.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Les Arbres de décision ou régression
CLS algorithm Step 1: If all instances in C are positive, then create YES node and halt. If all instances in C are negative, create a NO node and halt.
Apprentissage par arbre de décision
Structures de données IFT-2000 Abder Alikacem Semaine 11 Gestion des arbres binaires de tri et de recherche. Les arbres cousus. Les arbres n-aires Département.
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Évolution de schémas par classification automatique dans les entrepôts de données 3ème journée francophone sur les Entrepôts de Données et l'Analyse en.
Classification automatique de textes
Méthodes de tri.
1 Alain Casali Christian Ernst Extraction de Règles de Corrélation Décisionnelles 29 Janvier 2009.
IFT 702 – Planification en intelligence artificielle Planification par recherche dans un espace de plans Froduald Kabanza Département d’informatique Université.
Christelle Scharff IFI 2004
Arbres binaires et tables de hachage
Fast and Furious Decision Tree Induction
1 JEUX DE TESTS la méthode générale modèle de données critères fonctionnels d’extractions jeux de données jeux de données avant tests sélection exécution.
Arbres de décision flous
Olivier Leclair, Université Laval Un algorithme de fouille dans une représentation des données par objets: une application médicale SIMON, Arnaud.
Étude bibliographique
Système de regression neuro-flou pour prédire les apports non contrôlés dans les bassins versants de centrales hydro-électriques Mounir Boukadoum, Hakim.
La Récursivité.
Knowledge discovery in Databases (KDD)
Les Extra-Trees+SW Réalisé par : Encadrante:
Le Jeu et l’intelligence artificielle
Vers l’exploitation de grandes masses de données Encadré par : Mme L.Lamarini Présenté par: Rhaz Yassine Smiri Safae Un article de: Raphaeil Féraud,Maroc.
Extreemly Random Trees + SubWindows HOURRI Soufiane NAIT ABDELLAH OUALI Ismail OUFQIR Anouar OUSSAFI Mohammed.
. Le B-Arbre.
ETUDES PRONOSTIQUES Pr Ganry.
IFT 501 Recherche d'information et forage de données Chaptitre 4 : Classification concepts de base, arbres de décision et évalution des modèles Partie.
Arbres de décision Algorithme CART Aurélien Vesin Master 2 Pro –
IFT 501 Recherche d'information et forage de données Chapitre 4 : Classification concepts de base, arbres de décision et évalution des modèles Partie 3.
Les dossiers patients d’un hôpital contiennent les attributs suivants : – nom – code postal – pression systolique en mm de mercure. – s’il est porteur.
Technologies de l’intelligence d’affaires Séance 11
Arbres de décision.
Transcription de la présentation:

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

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

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.

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

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 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.

Quel attribut faut-il sélectionner? Classe:YES Classe: YES Classe: NO

Arbre de décision final

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

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 false true false true false

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)

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 Et on obtient un autre arbre de décision de ces 2 règles.

Le ou exclusif (XOR)

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

Un autre arbre avec duplication

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

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é

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(examples)) add a branch to tree with label vi and subtree subtree return tree MajorityValue: classe majoritaire

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)

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? The number of subsets of an n element set is called the power set, and it equals 2^n.

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

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

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 I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.

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

Information = Entropie pi est la probabilité de la classe i pi = # d’occurrences de i / total # d’occurrences Cette formule est généralisable

Entropie pour 3 probabilités Propriété de l’entropie

Première étape: Information Outlook Outlook = “Sunny” Similarly: Outlook = “Overcast” Outlook = “Rainy”

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

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: Info([2,3],[4,0],[3,2]) = 0.693

Information sans utiliser l’arbre Outlook

Gain d’information pour Outlook De même: Outlook est choisi

É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

Choix du deuxième attribut

Arbre de décision final

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 An example was given on the board. Look on pages 94-96 in Witten and Frank.

Information de branchement Première étape:

Calcul des gains de rapport Outlook est choisi I.H. Witten and E. Frank, “Data Mining”, Morgan Kaufmann Pub., 2000.

É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

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?

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

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)

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

Arbre à un niveau

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.

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

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

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.

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

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.