Fouille de redescriptions Une introduction Esther Galbrun [email protected] Chargée de recherche (CR2) Inria Nancy – Grand Est Équipe projet Orpailleur Esther Galbrun 2/25 Introduction Fouille de données classique Esther Galbrun 3/25 Introduction Dec in pT ... Lap ... Élan Cha t Bele tt Glo e uton Fouille de données classique 31UFP2 . . . 32VLK1 . . . 33WXR1 . . . 35TLN3 . . . Esther Galbrun 3/25 Introduction Fouille de données classique Dec in pT Lap Cha t Bele tte Chat ∧ Belette ∧ Lapin 31UFP2 . . . 32VLK1 . . . 33WXR1 . . . 35TLN3 . . . Esther Galbrun 3/25 Introduction ov Dec pT ul tN+ an ... tJ+ tJ− ... Lap in ... Élan Cha t Bele tt Glo e uton Fouille de redescriptions ... 31UFP2 . . . 32VLK1 . . . 33WXR1 . . . 35TLN3 . . . Esther Galbrun 4/25 Introduction Fouille de redescriptions Élan ∨ Mulot Alpestre ep tS∼ tJ+ ul tN+ ov Élan Mulo Alpet stre + ∼ ≤ 12.825]) ∧ [14.0 ≤ t + ≤ 24.4] ([−5.3 ≤ tNov ≤ 6.0] ∨ [12.811 ≤ tSep Jul 31UFP2 . . . 32VLK1 . . . 33WXR1 . . . 35TLN3 . . . Esther Galbrun 4/25 Introduction Fouille de redescriptions Élan ∨ Mulot Alpestre ep tS∼ tJ+ ul tN+ ov Élan Mulo Alpet stre + ∼ ≤ 12.825]) ∧ [14.0 ≤ t + ≤ 24.4] ([−5.3 ≤ tNov ≤ 6.0] ∨ [12.811 ≤ tSep Jul 31UFP2 . . . 32VLK1 . . . 33WXR1 . . . 35TLN3 . . . Esther Galbrun 4/25 Introduction Fouille de redescriptions ep tS∼ tJ+ ul tN+ ov Élan Mulo Alpet s tre Trouver différentes descriptions caractérisant les mêmes objets … 31UFP2 . . . 32VLK1 . . . 33WXR1 . . . 35TLN3 . . . Esther Galbrun 4/25 Introduction Fouille de redescriptions ep tS∼ tJ+ ul tN+ ov Élan Mulo Alpet s tre …trouver des objets ayant différentes caractérisations communes. 31UFP2 . . . 32VLK1 . . . 33WXR1 . . . 35TLN3 . . . Esther Galbrun 4/25 Comment trouver des redescriptions ? Définition : Considérant une collection d’objets décrits par deux jeux d’attributs différents, une redescription est une paire de requêtes (qL , qR ) caractérisant les mêmes ensembles d’objets. Esther Galbrun 5/25 Comment trouver des redescriptions ? Définition : Considérant une collection d’objets décrits par deux jeux d’attributs différents, une redescription est une paire de requêtes (qL , qR ) caractérisant les mêmes ensembles d’objets. Spécificité : Motifs transversaux à plusieurs jeux de données. Esther Galbrun 5/25 Comment trouver des redescriptions ? Définition : Considérant une collection d’objets décrits par deux jeux d’attributs différents, une redescription est une paire de requêtes (qL , qR ) caractérisant les mêmes ensembles d’objets. Données Deux matrices Esther Galbrun 6/25 Comment trouver des redescriptions ? Définition : Considérant une collection d’objets décrits par deux jeux d’attributs différents, une redescription est une paire de requêtes (qL , qR ) caractérisant les mêmes ensembles d’objets. Requêtes Formules logiques E ∨ M + ∼ ) ∧ t+ ( tNov ∨ tSep Jul Esther Galbrun 6/25 Comment trouver des redescriptions ? Définition : Considérant une collection d’objets décrits par deux jeux d’attributs différents, une redescription est une paire de requêtes (qL , qR ) caractérisant les mêmes ensembles d’objets. Justesse Coefficient de Jaccard des supports |supp(qL ) ∩ supp(qR )| |supp(qL ) ∪ supp(qR )| E1,1 = E1,1 + E1,0 + E0,1 J(qL , qR ) = Esther Galbrun 6/25 Comment trouver des redescriptions ? Définition : Considérant une collection d’objets décrits par deux jeux d’attributs différents, une redescription est une paire de requêtes (qL , qR ) caractérisant les mêmes ensembles d’objets. Contraintes Support, justesse, longueur des requêtes, p-valeur, … Esther Galbrun 6/25 Comment trouver des redescriptions ? Définition : Considérant une collection d’objets décrits par deux jeux d’attributs différents, une redescription est une paire de requêtes (qL , qR ) caractérisant les mêmes ensembles d’objets. — Cas particuliers — Requêtes conjonctives uniquement Règles d’association bi-directionnelles Esther Galbrun 6/25 Comment trouver des redescriptions ? Définition : Considérant une collection d’objets décrits par deux jeux d’attributs différents, une redescription est une paire de requêtes (qL , qR ) caractérisant les mêmes ensembles d’objets. — Cas particuliers — Une requête donnée Tâche de classification Esther Galbrun 6/25 Comment trouver des redescriptions ? Stratégies d’exploration Esther Galbrun 7/25 Comment trouver des redescriptions ? Stratégies d’exploration Esther Galbrun 7/25 Comment trouver des redescriptions ? Stratégies d’exploration Turning CARTwheels : An Alternating Algorithm for Mining Redescriptions. N. Ramakrishnan, D. Kumar, B. Mishra, M. Potts, et R. F. Helm. In KDD, 2004. Redescription Mining : Algorithms and Applications in Bioinformatics. D. Kumar. PhD Thesis, Virginia Tech, 2007. Esther Galbrun 8/25 Comment trouver des redescriptions ? Processus alternant Quand une requête est donnée, la fouille de redescriptions devient un problème de classification Réutiliser des méthodes de classification pour construire des redescriptions Requiert des requêtes interprétables : arbres de classification et de régression trees (CART) Classification avec des arbres en alternant entre les côtés Esther Galbrun 9/25 Comment trouver des redescriptions ? Arbres de décision (CART) Arbres de décision : structure représentant une succession de tests et les décisions de classification yes y =0 vb = 1 Feuille décision (classe/valeur) Autre noeud test sur la valeur d’un attribut yes no y =1 yes y =1 va ≥ 2 no vc = 4 no Esther Galbrun y =0 10/25 Comment trouver des redescriptions ? Arbres de décision (CART) Construction itérative d’un arbre 1. Calculer l’entropie de la séparation pour chaque attribut Esther Galbrun 11/25 Comment trouver des redescriptions ? Arbres de décision (CART) Construction itérative d’un arbre va Esther Galbrun 1. Calculer l’entropie de la séparation pour chaque attribut 2. Sélectioner le test d’entropie minimale 3. Ajouter un nouveau noeud pour ce test 4. Séparer les données selon le résultat du test 11/25 Comment trouver des redescriptions ? Arbres de décision (CART) Construction itérative d’un arbre vb va vc Esther Galbrun 1. Calculer l’entropie de la séparation pour chaque attribut 2. Sélectioner le test d’entropie minimale 3. Ajouter un nouveau noeud pour ce test 4. Séparer les données selon le résultat du test 5. Répéter sur chaque sous ensemble séparément 11/25 Comment trouver des redescriptions ? Arbres de décision (CART) Construction itérative d’un arbre vb va vc Esther Galbrun Interrompre si Toutes les entités dans le sous ensemble appartiennent à la même classe Aucun test ne permet d’amélioration La profondeur maximum est atteinte 11/25 Comment trouver des redescriptions ? Arbres de décision (CART) Construction itérative d’un arbre vb va vc Interrompre si Toutes les entités dans le sous ensemble appartiennent à la même classe Aucun test ne permet d’amélioration La profondeur maximum est atteinte Ajouter des feuilles avec la classe majoritaire comme décision Esther Galbrun 11/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Esther Galbrun 12/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Commencer avec un vecteur cible Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Construire un arbre sur les variables de gauche va Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Construire un arbre sur les variables de gauche vb va vc Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Construire un arbre sur les variables de gauche vd vb ve va vf vc vg Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Re-étiqueter les entités dans les feuilles de l’arbre vd vb ve va vf vc vg Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Re-étiqueter les entités dans les feuilles de l’arbre vd vb ve va vf vc vg Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Utiliser ces nouvelles étiquettes comme vecteur cible Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Construire un arbre sur les variables de droite ul Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Construire un arbre sur les variables de droite um ul un Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Construire un arbre sur les variables de droite uo um up ul uq un ur Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Re-étiqueter les entités dans les feuilles de l’arbre uo um up ul uq un ur Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Re-étiqueter les entités dans les feuilles de l’arbre uo um up ul uq un ur Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Continuer d’alterner... Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Continuer d’alterner... vd vb ve va vf vc vg Esther Galbrun 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Obtenir une paire d’arbres en correspondance au niveau des feuilles vd uo vb um ve up va ul vf uq vc un vg Esther Galbrun ur 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Sélectionner les branches menant aux classes positives vd uo vb um ve up va ul vf uq vc un vg Esther Galbrun ur 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Calculer le support vd uo vb um ve up va ul vf uq vc un vg Esther Galbrun ur 13/25 Comment trouver des redescriptions ? L’algorithme CARTwheels Calculer le support vd uo vb um ve up va ul vf uq vc un vg Esther Galbrun ur 13/25 Comment trouver des redescriptions ? Stratégies d’exploration Redescription Mining : Structure, Theory and Algorithms. L. Parida et N. Ramakrishnan. In AAAI, 2005. Redescription Mining : Algorithms and Applications in Bioinformatics. M. J. Zaki et N. Ramakrishnan. In KDD, 2005. Finding Subgroups Having Several Descriptions : Algorithms for Redescription Mining. A. Gallo, P. Miettinen, et H. Mannila. In SDM, 2008. Esther Galbrun 14/25 Comment trouver des redescriptions ? Stratégies d’exploration Finding Subgroups Having Several Descriptions : Algorithms for Redescription Mining. A. Gallo, P. Miettinen, et H. Mannila. In SDM, 2008. From Black and White to Full Color : Extending Redescription Mining Outside the Boolean World avec P. Miettinen, In Statistical Analysis and Data Mining, 2012. Esther Galbrun 15/25 Comment trouver des redescriptions ? Algorithme glouton Initialiser avec des paires de variables Essayer d’étendre la requête de chaque côté avec chaque variable disponible en utilisant les opérateurs ∨ et ∧ Interrompre si : La longueur maximale de requête est atteinte Aucune amélioration de justesse n’est possible Une redescription déjà obtenue est construite Une autre contrainte (support, p-valeur) est violée Esther Galbrun 16/25 Comment trouver des redescriptions ? Algorithme glouton Xp ABCDE Esther Galbrun ABCD 17/25 Comment trouver des redescriptions ? Algorithme glouton Paire initiale ABCDE Xp ABCD A A Esther Galbrun 17/25 Comment trouver des redescriptions ? Algorithme glouton Essai d’extension d’un côté Xp ABCDE ABCD A ? ? A Esther Galbrun 17/25 Comment trouver des redescriptions ? Algorithme glouton Essai d’extension avec ∧ B à gauche Xp A B? C D E ABCD A ∧ B A Esther Galbrun 17/25 Comment trouver des redescriptions ? Algorithme glouton Essai d’extension avec ∨ B à gauche Xp A B? C D E ABCD A ∨ B A Esther Galbrun 17/25 Comment trouver des redescriptions ? Algorithme glouton …après quelques itérationsXp ABCDE ABCD A ∧ E (A ∧ D) ∨ B 4 1+4+1 = 0.66 J(qL , qR ) = Esther Galbrun 17/25 Comment trouver des redescriptions ? Stratégies d’exploration Esther Galbrun 18/25 Comment trouver des redescriptions ? Séléctionner les résultats Sélection sans paramètres, basée sur le principe de longueur de description minimale (MDL). A D I DE G BJ BF B D DK AL J Esther Galbrun + A: B: C: . . . 19/25 Comment trouver des redescriptions ? Visualisation interactive Fouille interactive avec l’interface Siren. http://siren.gforge.inria.fr/ Esther Galbrun 20/25 Comment trouver des redescriptions ? Visualisation interactive Fouille interactive avec l’interface Siren. http://siren.gforge.inria.fr/ Esther Galbrun 20/25 Comment trouver des redescriptions ? Visualisation interactive Fouille interactive avec l’interface Siren. http://siren.gforge.inria.fr/ Esther Galbrun 20/25 Comment trouver des redescriptions ? Visualisation interactive Fouille interactive avec l’interface Siren. http://siren.gforge.inria.fr/ Esther Galbrun 20/25 Comment trouver des redescriptions ? Visualisation interactive Fouille interactive avec l’interface Siren. http://siren.gforge.inria.fr/ Esther Galbrun 20/25 Exemples Redescriptions dans divers domaines Bibliographie de la recherche informatique Les chercheurs avec des publications multiples dans les conférences SoCG et CCCG collaborent souvent avec M. Overmars ou E. D. Demaine. Esther Galbrun 21/25 Exemples Redescriptions dans divers domaines Profiles de candidats politiques Les candidats aux élections parlementaires finlandaises de 2011 de moins de soixante ans accordent peu d’importance aux questions des indices de retraite. Esther Galbrun 21/25 Exemples Redescriptions dans divers domaines Niches bio-climatiques Esther Galbrun 21/25 Exemples Niches bio-climatiques Données : Zones géographiques d’Europe (2575 objets) Présence/absence d’espèces mammifères (194 espèces) Charactéristiques météorologiques (48 variables de température et précipitation) Question : Trouver une requête en terme de profile climatique qui décrive les zones habitées par un groupe d’espèces (et vice versa). Esther Galbrun 22/25 Exemples Niches bio-climatiques Élan max ≤ 0.40] ∧ [12.20 ≤ t max ≤ 24.60]∧ ([−9.80 ≤ tFeb Jul avg avg ≤ 238.78] [56.852 ≤ pAug ≤ 136.46]) ∨ [183.27 ≤ pSep J = 0.811 E1,1 = 580 Esther Galbrun 23/25 Exemples Niches bio-climatiques Élan max ≤ 0.40] ∧ [12.20 ≤ t max ≤ 24.60]∧ ([−9.80 ≤ tFeb Jul avg avg [56.852 ≤ pAug ≤ 136.46]) ∨ [183.27 ≤ pSep ≤ 238.78] Esther Galbrun 23/25 Exemples Niches bio-climatiques Mulot ∧ Murin de Natterer ∧ Musaraigne pygmée max ≤ 14.50] ∧ [17.30 ≤ t max ≤ 25.20]∧ ([3.20 ≤ tMar Aug max ≤ 22.80]) ∨ [19.60 ≤ t avg ≤ 19.956] [14.90 ≤ tSep Jul J = 0.621 E1,1 = 677 Esther Galbrun 24/25 Conclusion Conclusion La fouille de redescriptions est un outil d’exploration de données flexible et puissant, applicable à divers domaines. Esther Galbrun 25/25 Conclusion Conclusion La fouille de redescriptions est un outil d’exploration de données flexible et puissant, applicable à divers domaines. Contact : [email protected] Page Web : https://members.loria.fr/EGalbrun/web/ Tutoriel : http://siren.mpi-inf.mpg.de/tutorial/main/ Page Web de Siren : http://siren.gforge.inria.fr/main/ Esther Galbrun 25/25