Fouille de données (Data Mining) Partie II - PowerPoint PPT Presentation

fouille de donn es data mining partie ii n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Fouille de données (Data Mining) Partie II PowerPoint Presentation
Download Presentation
Fouille de données (Data Mining) Partie II

play fullscreen
1 / 116
Fouille de données (Data Mining) Partie II
131 Views
Download Presentation
kedma
Download Presentation

Fouille de données (Data Mining) Partie II

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Fouille de données (Data Mining)Partie II Karine Zeitouni ISTY - 3ème année Université de Versailles Saint-Quentin Edition 2011-2012

  2. II. Principales techniques

  3. Plan Général du Cours • Introduction • Principales techniques • Motifs fréquents • Associations • Classification et prédiction • Groupage et segmentation • Préparation des données • Filtrage et validation • Méthodologie et Standards • Fouille de données complexes • Motifs séquentiels • Fouille de texte • Fouille de données spatiales et spatiotemporelles • Etude de cas Fouille de données

  4. Tâches génériques du DM (1) • Analyse dans une optique exploratoire (descriptive) • Classification automatique d'objets (= Clustering) • se base sur une mesure de similarité pour grouper les données • Description synthétique d'un ensemble d'objets • La généralisation simplifie les données en diminuant les détails sémantiques • Analyse factorielle, feature selection, SVD • permet de réduire N dimensions en P facteurs (technique de projection) Fouille de données

  5. Tâches génériques du DM (2) • Analyse exploratoire (suite) • Recherche de dépendances • Analyse de correspondances • Recherche d ’associations • Ex1 : ordinateur et imprimante fréquemment achetés ensemble • Ex2 : télé => magnétoscope (à 75%) • Détection de tendances et de déviations • efface l’influence des données extrêmes ou atypiques • détecte les déviations en utilisant des tests statistiques sur les écarts. Fouille de données

  6. Tâches génériques du DM (3) • Analyse dans une optique décisionnelle • Recherche de règles de classement d'objets • Identifier les classes (var. à expliquer) en fct. de variables explicatives. • résultat : soit règle (si ...alors), soit arbre de décision ou Réseaux Neuronal • Régression • Découverte de liens numériques au sein des données • expriment un lien entre les variables sous forme de fonction mathématique Fouille de données

  7. II.1. Associations

  8. Règles d’association • Définition : • Soient I= {i1, …, in} un ensemble d’items (articles) • et T = {t1, …, tm} / ti partie de I, un ensemble de transactions • Une règle d’association est une « implication » de de la forme : interprétée “ les transactions de T contenant X tendent à contenir Y ” Basée sur le calcul de 2 indicateurs • support s et confiance c • l’analyste fixe les seuil minimaux de support et de confiance • Seules les règles respectant ces seuils sont retenues Fouille de données

  9. Règles d’association • Exemple exprime le fait que : • 72% des clients qui s’équipent d’ordinateurs et d’imprimantes en même temps s’équipent aussi de scanners, • et que ces clients représentent 20% du nombre total de clients. Fouille de données

  10. Règles d ’association • Une règle a un support (= support de X U Y ) • Une règle a une confiance (= pourcentage de transactions de T qui contiennent Y parmi celles qui contiennent X.) • Une règle est dite solide • si son support est supérieur ou égal à un support minimal fixé et si sa confiance est supérieure à une confiance minimale donnée Fouille de données

  11. Algorithme APRIORI Décomposé en deux phases : • Phase 1 : trouver tous les ensembles d’items fréquents • ayant des supports suffisants • Phase 2 : générer à partir de ces ensembles d’items fréquents des règles d’associations solides • ayant des confiances suffisantes Fouille de données

  12. APRIORI - Phase 1 Algorithme Apriori - Phase I Entrée : MinSup et BD Sortie : ensemble L d’ensembles d’items fréquents Méthode : K=1 ;L= ; C1= {Candidats de taille 1} ; L1=Gen_Frequent(1,C1) ; L=LL1 ; Répéter K=K+1 ; Ck =Gen_Candidats(K,Lk-1) ; Lk=Gen_Frequents(K,Ck) ; L=LLk ; jusqu'à Lk= ; Fouille de données

  13. APRIORI - Phase 2 Algorithme Apriori - Phase II Entrée : MinConf, L ensemble d’items fréquents Sortie : ensemble R de règles d’associations Méthode : R= ; Pour chaque ensemble I de L Pour chaque sous ensemble S non vide de I Conf (S  I-S) = Sup(I)/Sup(S) Si Conf >= MinConf r= “ S  ( I-S ) ” ; R=R  {r} ; Fin Si Fouille de données Figure V.2.1: Phase 1 d’Apriori

  14. Table en entrée (2 formats possibles) • Table normalisée • Avec attribut multivalué Fouille de données

  15. base D L1 C1 Scan D Avec support=2 C2 C2 L2 Scan D L3 C3 Scan D Apriori par l’exemple Fouille de données

  16. Optimisation d’APRIORI • Inconvénient : N passes sur la base • une pour 1, 2, …N-ensembles, N étant la taille du plus grand ensemble fréquent • comptage des ensembles fréquents par transactions en parcourant la table • Trouver les produits d'une transaction peut nécessiter de la mémoire si table normalisée Fouille de données

  17. La base est divisée en N partitions chaque partition tient en mémoire les partitions peuvent être traitées en parallèle Chaque partition est traitée indépendamment découverte des ensembles fréquents pour chaque partition Remarque un ensemble fréquent doit l’être dans au moins une partition Exploration de l ’union des ensembles fréquents sur la base comptage en une passe élimination des ensembles non fréquents Avantage deux passes au plus parallélisable facilement Algorithme A-Priori Partition[SON95] Fouille de données

  18. Apriori-tid [Agrawal et Skirant VLDB 94] • Optimisation de Apriori • chaque transaction a un tid • liste de tid par k-ensemble • Calcul d'un k-ensemble • Intersection des deux listes de tid des deux (k-1) ensembles sources • La première passe permet d’éliminer les produits non fréquents (moins de tid) • Inconvénient • les listes sont lourdes et doivent être gardées en mémoire • inefficace si les listes ne tiennent pas en mémoire Fouille de données

  19. Comptage par Bitmap [GPW98] • Utilisation d'index bitmaps • 2 versions : 1-BM à 1 niveau et 2-BM multi-niveaux • Construction en une passe • Comptage rapide en mémoire • Intersection, Union, Négation très efficaces Fouille de données

  20. Ménagère Produits Prix 1 {P1, P3, P5} 120 2 {P2, P3} 70 3 {P4} 150 4 {P2, P5} 110 5 {P3,P4,P6} 220 P1 P2 P3 P4 P5 P6 1 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 Les index bitmap 0-100 100-200 200-300 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 SELECT Ménagère WHERE (P2 OR P3) AND Prix<200 Fouille de données

  21. Bitmaps (1-BM) versus Apriori-tid • Plus compactes : N*P bits contre N*K 16 bits • Plus rapides : Opérations logiques au lieu de tri-fusion On peut regrouper chaque séquence de 16 bits => groupe 0, groupe 1, etc. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Groupe 0: 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Groupe 1: 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 Groupe 2: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 Bitmap niveau 1 Fouille de données

  22. Bitmap hiérarchique (2-BM) • Rajoute un (ou des) niveaux supplémentaires de Bit-map (codage par 1 bit à 0 d’un groupe ne contenant que des 0, 1 sinon). Fouille de données

  23. L'algorithme • 1-BM • Génération d'un k-ensemble fréquent à partir de 2 (k-1)-ensembles fréquents • Calcul du support par comptage du nombre de bits dans l'intersection des vecteurs associés de la bitmap • 2-BM • La bitmap est indexée par une bitmap de niveau supérieur • Les intersections s'effectuent au niveau de la 2-BM si 0 => pas nécessité d'accès à la 1-BM • Les bitmaps peuvent être compressées Fouille de données

  24. Algorithme FP-Growth [Han00] • Représentation des items fréquents par un index spécial FP-tree (Frequent Pattern Tree) • Construction du FP-tree • Déterminer les items fréquents (1-ens.) • Trier par fréquence décroissante (table) • Créer une racine vide • Pour chaque transaction : • ajout des chemins de produits ordonnés par fréquence • fusion des sous-chemins communs • mise à jour des compteurs de fréquence des produits • Générer les ensembles fréquents par combinaison des nœuds des chemins fréquents Fouille de données

  25. Construction du FP-Tree Exemple avec support = 2 1ère passe: determiner la table Header Transaction Database Header table

  26. Construction du FP-Tree 2ème passe: Construction de FP-Tree null BD des transactions B:1 Header table A:1 Conditional pattern base Sufixe préfixe

  27. Construction du FP-Tree null B:2 BD des transactions A:1 C:1 Header table D:1 Conditional pattern base

  28. Construction du FP-Tree null B:2 A:1 BD des transactions A:1 C:1 C:1 Header table D:1 D:1 Conditional pattern base E:1

  29. Construction du FP-Tree null B:2 A:2 A:1 C:1 C:1 D:1 BD des transactions Header table D:1 D:1 E:1 E:1 Conditional pattern base

  30. Construction du FP-Tree null B:3 A:2 BD des transactions A:2 C:1 C:1 D:1 Header table D:1 D:1 E:1 C:1 E:1 Conditional pattern base

  31. Construction du FP-Tree null B:4 A:2 A:3 C:1 C:1 D:1 BD des transactions Header table D:1 D:1 E:1 C:2 E:1 D:1 Conditional pattern base

  32. Construction du FP-Tree null B:5 A:2 A:3 C:2 C:1 D:1 BD des transactions Header table D:1 D:1 E:1 C:2 E:1 D:1 Conditional pattern base

  33. Construction du FP-Tree null B:6 A:2 A:4 C:2 C:1 D:1 BD des transactions Header table D:1 C:3 D:1 E:1 D:1 E:1 Conditional pattern base

  34. Construction du FP-Tree null B:7 A:2 A:5 C:2 C:1 D:1 BD des transactions D:1 C:3 D:1 D:1 E:1 D:1 E:1 Conditional pattern base

  35. Construction du FP-Tree null B:8 A:2 A:5 C:3 C:1 D:1 BD des transactions D:1 C:3 D:1 E:1 D:1 E:1 D:1 E:1 Conditional pattern base

  36. null B:8 A:2 A:5 C:3 C:1 D:1 C:3 D:1 D:1 E:1 D:1 E:1 D:1 E:1 Construction du FP-Tree Header table Des chaines de pointeurs pour chaque élément de «  Header Table» sont crées pour permettre un accès plus rapide.

  37. Construction du FP-Growth Suffix E null (New) Header table B:8 A:2 C:3 C:1 D:1 E:1 D:1 E:1 E:1 Idée : Si E est fréquent, (tout préfixe)+E sera fréquent => On constitue l’arbre des préfixes (conditional FP-tree)

  38. Construction du FP-Growth Suffix E (insérerBCE) null (New) Header table B:8 A:2 FP-Tree conditionnel C:3 C:1 D:1 null E:1 D:1 E:1 C:1 E:1

  39. Construction du FP-Growth Suffix E (insérerACDE) null (New) Header table B:8 A:2 FP-Tree conditionnel C:3 C:1 D:1 null E:1 D:1 E:1 C:1 A:1 E:1 C:1 39 D:1

  40. Construction du FP-Growth Suffix E (insérerADE) null (New) Header table B:8 A:2 FP-Tree conditionnel C:3 C:1 D:1 null E:1 D:1 E:1 C:1 A:2 E:1 D:1 C:1 40 40 D:1

  41. RÉSULTATS (1) D1: T25.I10D10K (taille moy trans:25, taille max itemsets:10, Nb transaction: 10K) D2: T25.I20D100K (taille moy trans:25, taille max itemsets:20, Nb transaction: 100K)

  42. RÉSULTATS (2)

  43. Bilan FP-Growth • 2 lectures de la BD • Le FP-tree peut être volumineux • Peut ne pas tenir en mémoire • Solution :  Sauvegarder le FP-Tree sur disque et l’indexer  possibilité de combiner avec Apriori partition … Fouille de données

  44. Problèmes des règles d’association • Pb 1: Comment éliminer les règles redondantes ? • Pb 2: Comment fixer support et confiance ? sont-ils suffisants pour mesurer la pertinence de la connaissance extraite ? • Pb 3: Comment intégrer les taxonomies (généralisation) ? • Autres problèmes : intégrer les valeurs continues, l’ordre temporel (séquentiel) des transactions, données complexes… Fouille de données

  45. Constituent un semi-treillis Propriété d’anti-monotonie : sup(X) >= sup(XY) Problème 1 : la redondencePropriété des k-ensembles fréquents 0,3% ABC AB AC BC BD A B C D  0,6% 0,5% 0,4% 0,7% 2% 1% 1% 2% Fouille de données

  46. R1 : A=> BC R2 : AB=> C R2 est redondante / R1: même support (ABC) conf (R2) =sup(ABC)/sup(AB) conf(R1) =sup(ABC)/sup(A) donc conf(R2) > conf(R1) Plus généralement, pour un k-ensemble fréquent, il suffit d'extérioriser la règle valide de condition minimale (ici R1) La redondance [AY98] A AB Sup(AB) < Sup(A) Fouille de données

  47. R1 : A=> BCD R2 : AB => C R2 est redondante / R1 : conf(R1) = sup(ABCD)/sup(A) conf(R2) = sup(ABC)/sup(AB) sup(A) > sup(AB) sup(ABCD) < sup(ABC) donc conf(R1) < conf(R2) Plus généralement, il suffit de considérer le plus grand k-ensemble fréquent et d'extérioriser la règle valide de condition maximale La redondance stricte [AY98] sup(A) > sup(AB) ABCD ABC Sup(ABCD) < Sup(ABC) Fouille de données

  48. Génération des règles revue • Il suffit de retrouver les plus grands ensembles de support > MinSup • puis d'en extraire les règles de confiance > MinConf ayant une condition maximale • S'il n'y en a pas on descend le semi-treillis des ensembles fréquents et on itère. • Possibilité de s'intéresser à un item particulier et d'explorer ses ancêtres sur demande : • ex : A=>{AB,AC}=>{ABC} Fouille de données

  49. Problème 2 : Les mesures en question • Problème avec support et confiance • Le support est symétrique : A  B ou B  A ? • Whisky  Viande a une confiance élevée • confiance(X  Y) = P(Y/X) = P(XY)/P(X). • ignore P(Y) • élevée si P(X) est faible et P(Y) fort • Sinon, comment trouver les règles ? • Les ensembles fréquents sont insuffisants ... Fouille de données

  50. Mesure de conviction • La conviction [Brin97] mieux adaptée ? • conviction(XY) = P(X) P(¬Y)/P(X, ¬Y) • mesure unique asymétrique • XY s’écrit ¬(X et ¬Y) d ’où la conviction • L’intérêt mesure la dépendance entre X et Y et privilégie les articles rares • Intérêt (XY) = P(X,Y)/ P(X) P(Y) • mesure symétrique • Étonnement ou surprise : • Surprise (XY) = (P(X,Y) – P(X, ¬Y)) / P(Y) • mesure l’affirmation: différence entre la confirmation P(X, Y) et l’infirmation P(X, ¬Y) Fouille de données