ok
ok
Plan
Définition de FP
Algorithme Apriori
Applications de FP
FP Growth
Etape de FP Growth
Exemple
Test avec pyfpgrowth
ok
Définition
Pattern (set of items, sequence, etc.), qui aparait fréquemment dans
une base de données (TI pixels)
Grace à fp mining nous pouvons répondre à:
Quels sont les produits qui ont souvent été achetés ensemble?
(lait et sucre)
Quelle est la prochaine cible après l'achat d'un PC
ok
Application de FP mining
FP mining peut servir à plusieurs tâches essentielles de fouile de
données :
association, corrélation, causalité
périodicité partielle, associations cycliques / temporelles
Applications:
analyse de données de paniers, marketing croisé, conception de catalogue,
analyse perte, classification, web log squence, analyse de l'ADN, etc.
ok
Algorithme Apriori
Proposé par Agrawal & Srikant 1994
Un algorithme de niveau similaire à celui de Mannila et al. 1994.
Idée principale:
Un sous-ensemble d'un ensemble d’item fréquent doit être fréquent
Par exemple, si {lait, sucre, café} est fréquent, {lait, café} doit être fréquent
lui aussi.
On remarque Si un sous ensemble est rare (pas fréquent), son sur-
ensemble peut ne pas l’ être !
ok
Algorithme Apriori
Le problème de la découverte de motifs fréquents dans ce cas consiste, étant donné un
contexte d’extraction défini
par un ensemble d’objets décrits par la liste de leurs attributs et un seuil de support
minimal minsup, à découvrir tous les motifs qui apparaissent plus de minsup fois dans
la
base. L’extraction des motifs fréquents consiste à parcourir itérativement par
niveaux l’ensemble des motifs. Durant chaque itération ou niveau k, un ensemble de
motifs candidats est créé en joignant les motifs fréquents découverts durant l’itération
précédente k-1 ; les supports de ces motifs sont calculés et les motifs non fréquents
sont
supprimés. Dans cette approche le problème de recherche de motifs fréquents est
exponentiel par rapport au nombre d’attributs. En effet, s’il y a n attributs, il y a 2n
motifs
possibles et dans le pire des cas ils sont tous fréquents. Ainsi la quantité énorme de
motifs
fréquents extraits requiert la mise en place d'un post-traitement efficace afin de cibler
les
motifs fréquents les plus utiles.
ok
Algorithme Apriori
L'algorithme Apriori:
Utilise des éléments fréquents (k-1) pour générer des k-itemsets
fréquents
L’étape importante d'Apriori: la génération des candidats et donc ensemble
de candidats énormes:
10^4 éléments fréquents 1-itemset va générer plus que 10^7 candidats 2-
itemsets
Pour trouver un motif fréquent de taille 100, par exemple {a1, a2, ..., a100},
il faut générer 2^100 cad environ 10^30 candidats.
Plusieurs parcours (scan) de la base de données:
Besoins (n +1) parcours, n est la longueur du motif le plus long
ok
FP Growth
Compression d’une base de données volumineuse en une structure
d'arbre compact (FP-tree).
fortement condensé, mais complet pour l’FP mining(aucune perte de
donnée)
éviter les plusieurs parcours de bases de données qui sont coûteuses
et les réduire en 2.
Évitez la génération de candidats: test sur sous-base de données
seulement!
ok
Fp tree
Ne casse jamais un long motif (pattern) d’une transaction.
Préserve des informations complètes pour l’FP mining.
Réduit les informations non pertinentes - les items peu fréquents sont
éliminés
Tri décroissante de fréquence: les items les plus fréquents sont plus
susceptibles d'être partagés.
Ne jamais dépasser la taille la base de données d'origine
ok
Pourquoi FP growth
Les études de performance montre que:
FPGrowth est plus rapide que Apriori, et aussi que la tree-projection
Pas de génération ni de test des candidats.
Utilise une structure de données compacte (FP-Tree)
Élimine les parcours répétée de la base de données
Opération basique dans la construction du FP-tree.
ok
Etape de FP growth
Construire FP tree:
1- Parcourir la base de donnée la première fois pour avoir les fréquence
des 1-itemset.
2- Trier les itemset en ordre décroissent selon leurs fréquence.
3- Un deuxième parcours pour la construction de l’FP Tree.
4- Construire conditional pattern base pour chaque noeud .
5- Construire conditional FP-tree pour chaque noeud.
6- Générer les motifs les plus fréquents
ok
Exemple
ok
Exemple
ok
Exemple
ok
Exemple
ok
Exemple
ok
Exemple
ok
Exemple
ok
Exemple
ok
Exercice
Min support count 1
Transactions items
T1 1, 2, 4, 3
T2 1, 4, 3
T3 1, 4
ok
pyfpgrowth
Démo
ok

FP Growth Algorithm

  • 1.
  • 2.
    ok Plan Définition de FP AlgorithmeApriori Applications de FP FP Growth Etape de FP Growth Exemple Test avec pyfpgrowth
  • 3.
    ok Définition Pattern (set ofitems, sequence, etc.), qui aparait fréquemment dans une base de données (TI pixels) Grace à fp mining nous pouvons répondre à: Quels sont les produits qui ont souvent été achetés ensemble? (lait et sucre) Quelle est la prochaine cible après l'achat d'un PC
  • 4.
    ok Application de FPmining FP mining peut servir à plusieurs tâches essentielles de fouile de données : association, corrélation, causalité périodicité partielle, associations cycliques / temporelles Applications: analyse de données de paniers, marketing croisé, conception de catalogue, analyse perte, classification, web log squence, analyse de l'ADN, etc.
  • 5.
    ok Algorithme Apriori Proposé parAgrawal & Srikant 1994 Un algorithme de niveau similaire à celui de Mannila et al. 1994. Idée principale: Un sous-ensemble d'un ensemble d’item fréquent doit être fréquent Par exemple, si {lait, sucre, café} est fréquent, {lait, café} doit être fréquent lui aussi. On remarque Si un sous ensemble est rare (pas fréquent), son sur- ensemble peut ne pas l’ être !
  • 6.
    ok Algorithme Apriori Le problèmede la découverte de motifs fréquents dans ce cas consiste, étant donné un contexte d’extraction défini par un ensemble d’objets décrits par la liste de leurs attributs et un seuil de support minimal minsup, à découvrir tous les motifs qui apparaissent plus de minsup fois dans la base. L’extraction des motifs fréquents consiste à parcourir itérativement par niveaux l’ensemble des motifs. Durant chaque itération ou niveau k, un ensemble de motifs candidats est créé en joignant les motifs fréquents découverts durant l’itération précédente k-1 ; les supports de ces motifs sont calculés et les motifs non fréquents sont supprimés. Dans cette approche le problème de recherche de motifs fréquents est exponentiel par rapport au nombre d’attributs. En effet, s’il y a n attributs, il y a 2n motifs possibles et dans le pire des cas ils sont tous fréquents. Ainsi la quantité énorme de motifs fréquents extraits requiert la mise en place d'un post-traitement efficace afin de cibler les motifs fréquents les plus utiles.
  • 7.
    ok Algorithme Apriori L'algorithme Apriori: Utilisedes éléments fréquents (k-1) pour générer des k-itemsets fréquents L’étape importante d'Apriori: la génération des candidats et donc ensemble de candidats énormes: 10^4 éléments fréquents 1-itemset va générer plus que 10^7 candidats 2- itemsets Pour trouver un motif fréquent de taille 100, par exemple {a1, a2, ..., a100}, il faut générer 2^100 cad environ 10^30 candidats. Plusieurs parcours (scan) de la base de données: Besoins (n +1) parcours, n est la longueur du motif le plus long
  • 8.
    ok FP Growth Compression d’unebase de données volumineuse en une structure d'arbre compact (FP-tree). fortement condensé, mais complet pour l’FP mining(aucune perte de donnée) éviter les plusieurs parcours de bases de données qui sont coûteuses et les réduire en 2. Évitez la génération de candidats: test sur sous-base de données seulement!
  • 9.
    ok Fp tree Ne cassejamais un long motif (pattern) d’une transaction. Préserve des informations complètes pour l’FP mining. Réduit les informations non pertinentes - les items peu fréquents sont éliminés Tri décroissante de fréquence: les items les plus fréquents sont plus susceptibles d'être partagés. Ne jamais dépasser la taille la base de données d'origine
  • 10.
    ok Pourquoi FP growth Lesétudes de performance montre que: FPGrowth est plus rapide que Apriori, et aussi que la tree-projection Pas de génération ni de test des candidats. Utilise une structure de données compacte (FP-Tree) Élimine les parcours répétée de la base de données Opération basique dans la construction du FP-tree.
  • 11.
    ok Etape de FPgrowth Construire FP tree: 1- Parcourir la base de donnée la première fois pour avoir les fréquence des 1-itemset. 2- Trier les itemset en ordre décroissent selon leurs fréquence. 3- Un deuxième parcours pour la construction de l’FP Tree. 4- Construire conditional pattern base pour chaque noeud . 5- Construire conditional FP-tree pour chaque noeud. 6- Générer les motifs les plus fréquents
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    ok Exercice Min support count1 Transactions items T1 1, 2, 4, 3 T2 1, 4, 3 T3 1, 4
  • 21.
  • 22.