IFT 501 Recherche d'information et forage de données Chaptitre 6 : Analyse d’association concepts de base et algorithmes André Mayers Automne 2014 inspiré.

Slides:



Advertisements
Présentations similaires
Théorie des graphes.
Advertisements

Material/Sources: Daniel Bardou, Julie Dugdale &
Data Mining.
Règles d’association.
Introduction à l’Algorithmique
Sensibilisation à l’Algorithmique et structure de données
GEF 435 Principes des systèmes d’exploitation
Cliques & Bicliques Maximales
Chap 1 Grammaires et dérivations.
Christelle Scharff IFI Juin 2004
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
Cours 8 Arbres équilibrés
Structures de données linéaires
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Les structures de données arborescentes
Heuristiques A. Introduction B. Recherche d ’une branche
Methode de Tri efficace
Bases de données lexicales
Gestion de Fichiers Arbres B.
Structures de données IFT-2000
Les fichiers indexés (Les B-arbres)
LA STRUCTURE D'ARBRE-B Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information.
LES ARBRES IUP 2 Génie Informatique
Structures de données IFT-2000
Projet Acquisition de connaissances
Projet Acquisition de connaissances Réalisé par Anne-Laure B ERRÉE, Andra Maria B LAJ, Stéphanie C HARLET, Diana D RAGUSIN, Daphné D USSAUD, Emeline E.
Projet Acquisition de connaissances Réalisé par Anne-Laure B ERRÉE, Andra Maria B LAJ, Stéphanie C HARLET, Diana D RAGUSIN, Daphné D USSAUD, Emeline E.
Les listes chaînées par Frédérick Henri.
Visualisation de surfaces décrites analytiquement
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Algorithmes d ’approximation
Les arbres binaires.
Les arbres et tas binomiaux
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Partie II Sémantique.
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
Règles Associatives Définition et introduction
Programmation linéaire en nombres entiers
1 Alain Casali Christian Ernst Extraction de Règles de Corrélation Décisionnelles 29 Janvier 2009.
Algorithmes Branch & Bound
Arbres binaires et tables de hachage
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°6.
Projet Acquisition de connaissances Réalisé par Anne-Laure B ERRÉE, Andra Maria B LAJ, Stéphanie C HARLET, Diana D RAGUSIN, Daphné D USSAUD, Emeline E.
GF-11: Tri Interne Efficace et Tri Externe
Mini Projet. Rappel : Apriori (1) Algorithme par niveau permettant l’extraction des motifs fréquents (ie. AprioriCAM appliqué à la contrainte anti-monotone.
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
MATHÉMATIQUES DISCRÈTES Chapitre 1 (Section 5)

1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Structures de données avancées : Principales structures de fichiers
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Matière Sélectionnée: Triage Externe, Join à Hachage, … Chapitres 13—15: 13.1—13.5, 14.4,
VI. Tri par tas.
Projet Acquisition de connaissances Réalisé par Anne-Laure B ERRÉE, Andra Maria B LAJ, Stéphanie C HARLET, Diana D RAGUSIN, Daphné D USSAUD, Emeline E.
Les monceaux (Heap) Monceaux Propriétés des Monceaux
4/25/2017 4:30 PM Arbres (2,4) CSI2510 CSI2510.
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale.
Les arbres Arbres binaires
A. Lebrun. Théorème de Shannon Soit F une fonction logique de n variables xn F(x1,..,xi, xn)=xi.f(x1,…,1, xn)+xi.g (x1,…,0,,xn) F(x1,..,xi, xn)=(xi+g(x1,…,0,
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
IFT 501 Recherche d'information et forage de données Chaptitre 6 : Analyse d’association concepts de base et algorithmes André Mayers Automne 2014 inspiré.
Transcription de la présentation:

IFT 501 Recherche d'information et forage de données Chaptitre 6 : Analyse d’association concepts de base et algorithmes André Mayers Automne 2014 inspiré fortement des transparents suggérés par les auteurs du manuel obligatoire 1

GÉNÉRATION DES RÈGLES D’ASSOCIATION Section 6.3 2

Génération des règles Étant donné L, un itemset fréquent, trouver tous les sous- ensembles f  L tel que f  L – f satisfait la contrainte du support minimum requis. ◦ Si {A,B,C,D} est un itemset fréquent alors les règles candidates sont :  ABC  D, ABD  C, ACD  B, BCD  A, A  BCD,B  ACD,C  ABD, D  ABC AB  CD,AC  BD, AD  BC, BC  AD, BD  AC, CD  AB, Si |L| = k, alors il y a 2 k – 2 règles d’association candidates (excluant L   et   L) 3

Génération des règles Comment générer efficacement des règles à partir des itemsets fréquents ? ◦ En général, la confiance n’est pas anti monotone  c(ABC  D) peut être > ou < que c(AB  D)  parce que le numérateur et le dénominateur change en même temps ◦ Mais, pour un même itemset, la confiance prise comme fonction de la partie droite des règles est anti monotone.  ex., L = {A,B,C,D}: c(ABC  D)  c(AB  CD)  c(A  BCD)  parce que le numérateur est constant et que le dénominateur croit constamment De façon plus générale conf({i 1 i 2 } → {i 3 i 4... i k }) ≤ conf({i 1 i 2 i 3 } → {i 4 i 5... i k }). 4

Génération des règles pour l’algorithme a priori Treillis des règles Règles supprimées Règle dont la confiance est faible 5

Génération des règles pour l’algorithme a priori… Approche par niveau (# d’éléments dans le RHS) ◦ Générer les règles de niveau 1 ayant une haute confiance ◦ Les règles candidates du niveau x sont générées en fusionnant deux règles de niveau (x-1) dont les conséquents partagent le même préfixe  La fusion de CD  AB et BD  AC) produirait la règle D  ABC ◦ Éliminer la règle D  ABC si son sous-ensemble AD  BC n’a pas une haute confiance 6

Génération des règles pour l’algorithme a priori… Algorithm 6.2 : Génération des règles pour l’algorithme a priori. 1.for each frequent k-itemset f k, k ≥ 2 do 2. H 1 = {i | i ∈ f k } {1-item consequents of the rule.} 3. call ap-genrules(f k,H 1 ) 4.end for 7

Génération des règles pour l’algorithme a priori… 8

REPRÉSENTATION COMPACTE DES ITEMSETS FRÉQUENTS Section 6.4 9

Représentation compacte des itemsets fréquents Certains itemsets sont redondants parce qu’ils ont le même support que leur sur-ensemble Nombre d’itemsets fréquents Besoin d’une représentation compacte 10

Représentation compacte des itemsets fréquents 15 transactions et 30 items sup(A1, A2, A3, A4) = sup(A1, A2, A3, A4, A5) = sup(A1, A2, A3, A4, A5, A6) = sup(A1, A2, A3, A4, A5, A6, A7) … Il s’ensuit que (A1, A2)  (A3, A4), (A1, A2, A5)  (A3, A4), (A1, A2, A5)  (A3, A4, A6) … ont toutes le même support et confiance, et que chaque fois que l’une d’elles est vraie alors les autres sont aussi vraies ; elles sont redondantes. ◦ Une règle r : X → Y, est redondante s’il existe une règle r’ : X’ → Y’, tel que 1.sup(r) = sup(r’)  conf(r) = conf(r’) 2.(X  X’  Y  Y’)  (X  X’  Y  Y’) 11

Itemset fréquent maximal Frontière Itemset maximal Itemsets non fréquents Un itemset fréquent est maximal si tous ses surensembles ne sont pas fréquents 12

Itemset fermé Un itemset est fermé si aucun de ses sur-ensembles immédiats a le même nombre de supports que lui 13

Itemset fréquent fermé 14

Itemset maximal vs itemset fermé Transaction Ids N’ont aucun support 15

Itemset maximal vs itemset fermé Minsup = 2/5 # Fermé = 9 # Maximal = 4 Fermé et maximal Fermé mais non maximal 16

Itemset maximal vs itemset fermé 17

Algo 6.4 : Calcul du support utilisant les itemsets fréquents et fermés 1. Soit C = {f | f est un itemset fréquent et fermé} 2. kmax = max |f| où f ∈ C 3. F kmax = {f | f ∈ C, |f| = kmax} 4. for k = kmax − 1 downto 1 do 5. F k = {f | f ⊂ f’, f’ ∈ F k+1, |f| = k} 6. for each f ∈ F k do 7. if f  C then 8. f.support = max{f’.support | f’ ∈ F k+1, f ⊂ f’} 9. end if 10. end for 11. end for L’utilisation de cet algorithme réduit le nombre de balayage de la base de transactions 18

Règle redondante et itemset fermé Un règle r : X → Y, est redondante s’il existe une règle r’ : X’ → Y’, tel que 1.sup(r) = sup(r’)  conf(r) = conf(r’) 2.(X  X’  Y  Y’)  (X  X’  Y  Y’) À partir de Figure 6.17, ◦ {b} n’est pas un itemset fréquent fermé ◦ {b, c} est fréquent fermé ◦ |{b}|=|{b, c}| ◦ Donc la règle {b} → {d, e} est redondante parce que la règle {b, c} → {d, e} a le même support et confiance  Attention logiquement {b} → {d, e}  {b, c} → {d, e} mais pas l’inverse.  À chaque fois que b apparaît dans une transaction, c apparaît aussi, mais l’inverse n’est pas vrai Les règles redondantes ne sont pas générées si on n’utilise que les itemsets fréquents fermés comme LHS pour générer les règles. Tous les itemsets fréquents maximaux sont aussi fermés parce qu’ils ne peuvent avoir le même support que ses sur-ensembles, ◦ en effet, tous les surensembles d’un itemset maximal n’est pas fréquent 19

Algorithme optimisé (CHARM) 20

Algorithme optimisé (CHARM) 21

MÉTHODES ALTERNATIVES POUR GÉNÉRER LES ITEMSETS FRÉQUENTS Section

Fouille et construction du treillis des itemsets Du général au spécifique vs du spécifique au général La longueur maximale des itemsets fréquents détermine où se trouve la frontière. L’idéal est de partir de l’extrémité la plus proche de la frontière 23

Fouille et construction du treillis des itemsets Les classes d’équivalence La somme totale du temps pris pour traiter chacune des classes séparément peut être inférieure à celle prise pour traiter l’ensemble par exemple le sous-problème peut être encodé dans la RAM 24

Fouille et construction du treillis des itemsets En largeur vs en profondeur ◦ Apriori fouille et construit en largeur ◦ Voir la diapositive suivante pour les caractéristiques de la fouille en profondeur 25

Fouille et construction du treillis des itemsets fouille en profondeur la recherche en profondeur permet de trouver plus facilement la frontière et est souvent utilisé pour trouver les itemsets maximaux. 26 si l’objectif est de trouver les itemsets maximaux alors si bcde est maximaux alors ses sous-ensembles de le sont pas.

Fouille et construction du treillis des itemsets Représentation horizontal ou vertical de la base des transactions Disposition horizontale ◦ Voir apriori Disposition verticale ◦ Le support d’un itemset candidat est la cardinalité de l’intersection des colonnes d’articles de l’itemset. 27

L’ALGORITHME FP-GROWTH (FREQUENT-PATTERN GROWTH) Section

Les améliorations possibles pour Aprori Il est très coûteux s’il y a un nombre important de fréquent itemset potentiel. ◦ S’il y a itemsets fréquents, Apriori devra générer plus de itemsets et tester leur fréquence. Goulot d'étranglement :génération et test des Candidats ◦ Le forages des motifs demande plusieurs lecture de la base de transactions et génère énormément de candidats  Peut-on éviter les multiples balayages (scan) pour la génération des candidats ? Est-ce qu’il existe un structure de données qui pourraient aider à ◦ Réduire le nombre de balayages de la base de transaction ? ◦ Réduire le nombre de candidats ? ◦ Faciliter le calcul du nombre de support ? 29

DÉFINITION ET CONSTRUCTION D’UN FP- TREE 30

Définition : FP-tree (A frequent-pattern tree ). Défini par trois éléments ◦ un arbre dont la racine est étiqueté « null » et dont ◦ les sous-arbres sont nommés sous-arbres d’item-préfixes ◦ une table des pointeurs des items fréquents. Un nœud dans un sous-arbre d’item-préfixes consiste ◦ nom-item (item-name)  l’item que ce nœud représente ◦ compte (count)  Le # de transactions representée par la portion du chemin qui atteint ce nœud. ◦ nœud-lien (node-link)  Un pointeur vers le prochain nœud du FP-tree ayant le même nom-item, ou null s’il n’y a pas un tel noeud. Chaque entrée dans la table des en-têtes des items fréquents contient ◦ le nom-item (et sa fréquence) ◦ le pointeur tête de la séquence des nœuds ayant ce nom-item 31

Exemple de FP-tree 32 Table des pointeurs Art. Fréq. et pointeur f 4 c 4 a 3 b 3 m 3 p 3 {} f:4 c:1 b:1 p:1 c:3 m:2 b:1 m:1 p:2 a:3

L’algorithme FP-growth Construit un FP-tree, une représentation compressée de la base des transactions Utilise une approche divise-et-conquiert récursives pour trouver les itemsets fréquents 33

Construction d’un FP-tree null A:1 B:1 Après lecture de TID=1 Après lecture de TID=2 null A:2 B:1 C:1 D:1 34 Table des pointeurs Art.frFr. A8 B7 C7 D5 E3 Table des pointeurs Art.frFr. A8 B7 C7 D5 E3

Construction d’un FP-tree Après lecture de TID=3 35 Table des pointeurs Art.frFr. A8 B7 C7 D5 E3 A:2 B:1 C:1 D:1 B:1 C:1 D:1 E:1

Algorithme FP-growth (construction du FP-tree). 1. Balayer T la base de transaction une fois ◦ Créer F, la liste des items fréquents avec leur support ◦ Trier F en ordre décroissant de support 2. Créer l’arbre N contenant que la racine étiqueté « null » 3. Pour chaque transaction dans la base de transaction ◦ Créer et trier la liste [p|P] des items fréquents selon F  p est le premier élément de la liste et P le reste de la liste ◦ insert_tree([p | P], N ) 36

insert_tree([p | P], M ) (suite de l’algo 1) Si M a un fils N tel que N. nom-item = p. nom-item ◦ alors  incrémenter N.compte ◦ sinon  créer un nouveau nœud N  N.nom-item  p.nom-item  N.compte  1  N.parent  M  N. nœud-lien  pointeur vers le nœud qui a le nom-item selon la table des en-têtes des items fréquents Si P ≠Ø, alors insert_tree(P, N) Le résultat est que tous les itemsets fréquents issus de cette transaction sont projetés dans le FP-tree 37

Projection des items fréquents d’une transaction T : la base des transactions F : la liste des items fréquents dans T en ordre de fréquence t : une transaction, i.e. t est un élément de T freq(t) : la liste ordonnée des items fréquents de t, i.e. t ∩ F est appelée la projection des items fréquents de t L’ensemble des projections des items fréquents des éléments de T est suffisant pour le forage de l’ensemble des motifs fréquents ◦ découle du fait que les items non fréquents ne jouent aucun rôle dans le forage des motifs fréquents. 38

L’ensemble complet des projections des items fréquents de T peut être extrait de son FP-tree 39

Caractéristiques du FP-tree Par construction du FP-tree, pour tout t  T, freq(t) correspondent à au plus un chemin de la racine à un nœud et le nombre de nœud du chemin est égale à |freq(t)|. ◦ on ne considère pas ici la racine et les propriétés des nœuds (nom-item et nœud-lien) Le chemin le plus long ne peut pas avoir plus de nœuds que la plus longue projection d’items fréquents 40

Il peut exister des représentions plus compacte que les FP-tree Soit T = {adef, bdef, cdef, a, a, a, b, b, b, c, c, c}, avec minSupp = 3 alors F = a → b → c → d → e → f ce qui donne l’arbre de gauche (sans la racine) et considérer l’ordre G = f → d → e → a → b → c qui donne l’arbre de droite (sans la racine) 41

Avantages du FP-tree Complet ◦ contient toutes les informations sur les motifs fréquents ◦ chaque motif correspond à un chemin Concis ◦ ne contient que les motifs fréquents ◦ Les items sont en ordre de fréquence décroissante, plus un item est fréquent plus il sera utilisé par les itemsets fréquents et se rapprochera de la tête de ces itemsets fréquents, donc son nœud sera utilisé souvent. ◦ Si on ne considère pas les nœuds-liens et la table des en-têtes des items fréquents, sa taille ne peut être plus grande que la base de transactions.  Il existe des exemple où le ratio de compression est de l’ordre de 1:100 ◦ La profondeur d’un FP-tree est inférieur à la plus longue projection des items fréquents (freq(t))possible à partir des transactions de T L’avantage majeur est qu’il ne fait que 2 balayage de T 1.balayage de T pour trouver les 1-itemset 2.trier le résultat pour construire F 3.balayage de T pour construire le FP-Tree 42

Exemple : La base de donnée des transactions TID articles achetés Articles fréquents ordonnés 100 f, a, c, d, g, I, m, p f, c, a, m, p 200 a, b, c, f, l,m, o f, c, a, b, m 300 b, f, h, j, o f, b 400 b, c, k, s, p c, b, p 500 a, f, c, e, l, p, m, n f, c, a, m, p 43 posons minSupp = 3 d, g, h, j, k, l, o et s ne sont pas fréquents F= [f, c, a, b, m, p]

Exemple : le FP-tree construit 44 Table des pointeurs Art. Fréq. et pointeur f 4 c 4 a 3 b 3 m 3 p 3 {} f:4 c:1 b:1 p:1 c:3 m:2 b:1 m:1 p:2 a:3

FORAGE DES MOTIFS FRÉQUENTS À PARTIR D’UN FP-TREE 45

Tous les motifs contenant un item fréquent a i peuvent être obtenus en suivant le pointeur de a i dans la table des pointeurs. Par construction du FP-tree, tous les nœuds a i peuvent être atteints en suivant la chaine des pointeurs des champs nœud-lien en commençant par celui de la table des pointeurs correspondant à l’item fréquent a i. Tous les motifs contenant a i doivent être un sous-ensemble d’un chemin partant de la racine et contenant a i. 46

vocabulaire et constatation La base des motifs p- conditionnée est {fcam:2, cb:1} Dans cette base de donnée p- conditionnée, c est un item fréquent local Les motifs fréquents contenant p peuvent être déduits de sa base de motifs, ce sont {p:3 et pc:3} Le processus sera détaillé dans les prochaines diapositives 47 {} f:4 c:1 b:1 p:1 c:3 m:2 b:1 m:1 p:2 a:3

Partitionnement de la base des motifs fréquents La base des motifs fréquents peut être partitionnée en se basant sur liste ordonnée des articles fréquents F  F=f-c-a-b-m-p ◦ Motifs contenant p (2 prochaines diapositives) ◦ Motifs contenant m mais pas p ◦ … ◦ Motifs contenant c mais non a, b, m, p ◦ Motif f Le partitionnement est complet et sans redondance 48

Les motifs fréquents contenant p À partir de la table des pointeurs, parcourir le FP-tree en suivant les pointeurs pour l’item fréquent p Créer tous les chemins à partir de la racine et se terminant par p pour former (en supprimant p de ces chemins) la base des motifs p- conditionnés. Ce sont l’ensemble des préfixes de p. motifs conditionnels art. motifs cond. c f:3 a fc:3 b fca:1, f:1, c:1 m fca:2, fcab:1 p fcam:2, cb:1 Table des pointeurs Art. Fréq. et pointeur f 4 c 4 a 3 b 3 m 3 p 3 {} f:4 c:1 b:1 p:1 c:3 m:2 b:1 m:1 p:2 a:3 49 à suivre sur la prochaine diapositive

Les motifs fréquents contenant p … le FP-tree p-conditionné pour chaque motif dans la base des motifs p-conditionnés ◦ Évaluer le nombre de chaque item ◦ Construire le FP-tree à partir de cette base des motifs 50 Table des ponteurs Itemfrequence f 4 c 4 a 3 b 3 m 3 p 3 {} f:4 c:1 b:1 p:1 c:3 m:2 b:1 m:1 p:2 a:3 Base des motifs p-conditionnés fcam:2cb:1 FP-tree p- conditionné {} | c:3 Les motifs fréquents reliés à p p, cp c est le seul item fréquent

Les motifs fréquents contenant m on répète le même processus avec m ◦ Il y a deux chemins qui mènent à m (fca et fcab) ◦ les items fréquents dans la base des motifs m-conditionnés sont f, c, a ◦ construire le FP-tree pour cette base et extraire les motifs fréquents 51 Header Table Item frequency head f 4 c 4 a 3 b 3 m 3 p 3 {} f:4 c:1 b:1 p:1 c:3 m:2 b:1 m:1 p:2 a:3 Base des motifs m-conditionnés fca:2fcab:1 FP-tree m- conditionnel {} | f:3 | c:3 | a:3 Les motifs fréquents reliés à m m, fm, cm, am, fcm, fam, cam, fcam

Révision de la procédure pour trouver les motifs fréqents contenant p Deux chemins ◦ f :4, c:3, a:3,m:2, p:2  fcam:2 ◦ c:1, b:1, p:1  cb:1 Base des motifs p-conditionnés ◦ {( f cam:2), (cb:1)} Un seul item fréquent c:3 52 Table des pointeurs Art. Fréq. et pointeur f 4 c 4 a 3 b 3 m 3 p 3 {} f:4 c:1 b:1 p:1 c:3 m:2 b:1 m:1 p:2 a:3 Le FP-tree p-conditionné {} c:3 Table des pointeurs Art. Fréq. et pointeur c 3 Les motifs fréquents sont donc {p:3 cp:3}

Révision de la procédure pour trouver les motifs fréqents contenant m Deux chemins ◦ f :4, c:3,a:3,m:2  fca:2 ◦ f :4, c:3, a:3, b:1, m:1.  fcab:1 Base des motifs m-conditionnés ◦ {( f ca:2), (fcab:1)} Le FP-tree m-conditionné {} f:3 c:3 a:3 Table des pointeurs Art. Fréq. et pointeur f 3 c 3 a 3 53 Table des pointeurs Art. Fréq. pt f 4 c 4 a 3 b 3 m 3 p 3 {} f:4 c:1 b:1 p:1 c:3 m:2 b:1 m:1 p:2 a:3 Les motifs fréquents sont (m:3), (am:3), (cm:3), ( f m:3), (cam:3), (fam:3), (fcam:3) et (fcm:3) Quel est l’algo pour les énumérer ? prochaine diapositive

Déroulement de mine( |m). mine( | m) ◦  motif fréquent: am:3 ◦  base am-conditionné : {(fc:3)} ◦ mine( | am)   motif fréquent : cam:3   base cam-conditionné : {(f :3)}  mine( f :3 | cam)   motif fréquent : fcam:3 ◦ mine( | am) ◦  motif fréquent : fam:3 mine( |m) ◦  motif fréquent : cm:3 ◦  base cm-conditionné : {( f :3)} ◦ mine( f :3 | cm) ◦  motif fréquent : (fcm:3) mine( |m) ◦  motif fréquent : (fm:3) {} f:3 c:3 a:3 Table des pointeurs Art. Fréq. et pointeur f 3 c 3 a 3 En résumé les motifs fréquent sont : am, cm, fm, cam, fam, fcm, fcam Finalement on constate que dans le cas où un FP-tree se réduit à un chemin, les motifs fréquents est la liste de toutes les combinaisons possibles des éléments du FP-tree

Forage des motifs fréquents par la création de base de motifs conditionnnés article Base des transactions projetées Base des motifs conditionnés FP-tree conditionné p {fcam, cb, fcam}{( fcam:2), (cb:1)} {(c:3)}|p m {fca, fcab, fca}{( fca:2), (fcab:1)} {( f :3, c:3, a:3)}|m b {fca, f, c}{( fca:1), ( f :1), (c:1)}  a {fc, fc, fc}{( fc:3)} {( f :3, c:3)}|a c { f, f, f }{( f :3)} {( f :3)}|c f  S’il est possible de mettre la base de transaction en mémoire, il préférable de construire la base des motifs conditionnés pour construire les FP-tree conditionnés Sinon construire la base des transactions projetées pour construire les FP-tree conditionnés ◦ Si une des bases des transactions projetées ne rentre toujours pas en mémoire, il faut répéter le processus sur cette base.

Construction d’un FP-Tree Les pointeurs sont utilisés pour la génération des itemsets fréquents E:1 null A:7 B:5 B:3 C:3 D:1 C:1 D:1 C:3 D:1 E:1 D:1 E:1 Table des pointeurs 56

FP-growth Base des motifs conditionnels pour D P = {(A:1,B:1,C:1), (A:1,B:1), (A:1,C:1), (A:1), (B:1,C:1)} Récursivement appliquer FP-growth sur P Ensemble des itemsets fréquents trouvé (avec sup > 1) AD, BD, CD, ACD, BCD null A:7 B:5 B:1 C:1 D:1 C:1 D:1 C:3 D:1 57

Tree Projection Set enumeration tree: Possible Extension: E(A) = {B,C,D,E} Possible Extension: E(ABC) = {D,E} 58

Tree Projection Items are listed in lexicographic order Each node P stores the following information: ◦ Itemset for node P ◦ List of possible lexicographic extensions of P: E(P) ◦ Pointer to projected database of its ancestor node ◦ Bitvector containing information about which transactions in the projected database contain the itemset 59

Projected Database Original Database: Projected Database for node A: For each transaction T, projected transaction at node A is T  E(A) 60

ECLAT For each item, store a list of transaction ids (tids) TID-list 61

ECLAT Determine support of any k-itemset by intersecting tid-lists of two of its (k-1) subsets. 3 traversal approaches: ◦ top-down, bottom-up and hybrid Advantage: very fast support counting Disadvantage: intermediate tid-lists may become too large for memory  62