1 / 41

Extraction de règles et FCA

Extraction de règles et FCA. Dates. FCA Base Guigues-Duquenne 1986 Luxemburger 1991 … Data mining Agrawal 1992 … Lien Pasquier 1998-99 (close) Zaki 2000 (charm) Pei 2001 (closet) Stumme 2002 (titanic). Premières définitions. Contexte: (O,A,R) Itemset ferme A1 Ad(e(A1))=A1

ray-ramsey
Download Presentation

Extraction de règles et FCA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extraction de règles et FCA

  2. Dates • FCA • Base Guigues-Duquenne 1986 • Luxemburger 1991 … • Data mining • Agrawal 1992 … • Lien • Pasquier 1998-99 (close) • Zaki 2000 (charm) • Pei 2001 (closet) • Stumme 2002 (titanic) ...

  3. Premières définitions • Contexte: (O,A,R) • Itemset ferme A1Ad(e(A1))=A1 • Itemset fermé Fréquent: A1 fermé + support(A1)=|A1|/|O| ≥ minsup • Nous noterons d(e(A1)) par ƒ(A1) (pour fermeture de A1). • Treillis iceberg: sup demi treillis de Galois ne conservant que les itemsets fermés fréquents

  4. Générateur minimal • Un itemset G est dit générateur minimal d’un itemset A1ƒ(G)=A1 et  G1G /ƒ(G1)=A1 • L’opérateur ƒ induit une relation d’équivalence sur les itemsets. • même support. • générateurs minimaux: incomparables + petits • Itemset ferme: élément le plus large

  5. Règle associative • Relation entre itemsets fréquents X, Y et XY de la forme R: X  Y-X • X prémisse • Y conclusion • Confiance:conf(R)=support(Y)/support(X) • On notera la régle par: R: X -c Y ou c représente la confiance. • Si conf(R)=1 est nommée règle associative exacte sinon elle est appelée approximative (noté X  Y)

  6. Problèmes • Nombre de règles • Redondance • Support:Validité statistiques & Cas rare

  7. Sélection • Sélection avec perte d’information • Forme de la règle • Métrique d’intérêt • Sélection sans perte d’information • Sous ensemble générique: base

  8. Redondances entre règles • Augmentation gauche Si I1  J1 est exacte alors I1 I2  J2 est exacte • si I1  J1 et I2  J1 sont exactes alors I1I2  J1 est exacte • si I1 J1 et I1J2 sont exactes alors I1J1J2 est exacte • Si I J1J2 est exacte alors I J1 et IJ2 sont exactes • Si IJ et JK alors IK Amstrong

  9. Redondance-1 • Une règle R: X -c Y est considérée comme redondante par rapport à R1: X1 -c Y1 si R vérifie les conditions suivantes: • Support(R)=Support(R1) et Conf(R)=Conf(R1) • (X1X et YY1)

  10. Base générique • Soit FF L’ensemble des itemsets fermés fréquents extrait d’un contexte. Pour un itemset fermé cFF nous notons Gc l’ensemble de ses générateurs minimaux. La base générique de règles associatives exactes est alors comme suit: GB= {R: g  (c - g) | cFF, gGc et g≠c}

  11. Base règle approximative • La base informatique de règles associatives IB est donnée par: IB={R | R: X-cY, Y FF et ƒ(X)≤Y et confiance(R) ≥minconf et support(Y)≥minsup}

  12. Règle approximative: C-0.5ABE « Lien » entre C et ABCE Règles génériques: ABCE AEBC « Provient » du noeud ABCE

  13. Règles dérivés

  14. Autre exemple / taille

  15. Principe de recherche classique • Recherche des itemsets fréquents • Pour chaque itemset Y trouvé, générer toutes les règles X -cY-X avec une confiance suffisante. • Dans le cas de règles X Y-X on peut s’intéresser aux générateurs et générer une règle par la fermeture sur ce générateur

  16. Algorithmes basés sur les fermés • Générer et tester • parcours par niveau • élagage: support + propriétés structurelles • Diviser pour régner • découpage en sous-contexte • recherche des itemset fermés dans ces sous-contextes

  17. Propriétés des fermés • La fermeture d’un itemset fréquent donne un itemset fermé fréquent • Le support d’un itemset I frequent non fermé est égal au support du plus petit fermé contenant I.

  18. Algorithmes: Générer et Tester • Entrées: Contexte et minsup • Sortie: ensemble des itemset fermés fréquents • 1: Initialiser l’ensemble de candidats de taille 1 • 2: tant que ensemble de candidats non vide faire • 3: Etape élagage (ou de test) • 1) Calculer le support des candidats • 2) Elaguer l’ensemble de candidats par rapport à minsup • 3) (Eventuellement) calculer les fermetures des candidats retenus • 4: Etape de construction • 1) Construire l’ensemble des candidats à utiliser à l’itération suivante • 2) Elaguer cet ensemble en utilisant les propriétés structurelles des itemsets fermes et/ou des générateurs minimaux. • 5: fin tant que • 6: retourner Ensemble des itemsets Fermés Fréquents

  19. Close • Parcours en Largeur • item k => item k+1 • Pasquier 1999

  20. Propriété • Soit I un itemset de taille i et S un ensemble de sous-ensembles de taille i-1de I avec UAS A = I, si  AS / Iƒ(A) alors ƒ(I)=ƒ(A) Ou ƒ(A) indique la fermeture de A

  21. Choix des candidats • FFCk candidat taille k,FCk fermé taille k • Gen-Generateur (FCk) • Joindre les éléments taille k permettant de trouver des itemsets de taille k+1 (donne FFCk basé sur Apriori) • Eliminer les éléments de FFCk qui sont inclus ou égal à la fermeture de l’un des éléments de taille k (dernière propriété)

  22. Exemple • FFC1 initialisé avec 1-itemset • Calcul pour chaque élément de FFC1 de sa fermeture et de son support • FC1 produit en élaguant de FFC1 les éléments ne respectant pas le minsup • retrait de D /support • FFC2 est produit à partir de FC1. • production de tous les 2-itemset via I1,I2  FC1.genSSI I1.ferm I2.ferm et I2.ferm  I1.ferm • => non production de AC • => non production de BE

  23. Algorithm Close • Entrées: Contexte et minsup • Sortie: ensemble des itemset fermés fréquents • 1: Initialiser l’ensemble de candidats de taille 1 • k<-1 • initialisation de FFCk .gen<- {1-itemset} // Candidat • 2: Tant que FFCk.gen≠0 faire • 3: Etape élagage(ou de test) • 1) FFCk.supp <- Ø • 2) FFCk.ferm <- Ø; • 3) FFCk<- Gen-Fermeture(FFCk) // Fermes pour les generateurs • 4: Etape construction • 1) pour tout c  FFCk faire • si (c.supp≥minsup) alors • FCk <-FCk c // Itemset fermé fréquent • fin si • FFCk+1.ferm=Gen-Generateur(FCk) • fin pour • 5: k++ • 5: fin tant que • 6: retourner FC=  FCk

  24. Closet: Diviser pour régner • But: gérer la taille de la liste des candidats • Principe: • Découpage en sous-contexte • traitement récursif pour chacun d’eux (backtrack)

  25. Exemple • Commence par A (=>TRI/support) • Recherche de tous les fermés contenant A • (sous-contexte) [A] • Sup(A)=3 • l’item C est vu dans toutes les transactions sup(C)=3 • Résultat CA (propriétés) Recherche sous contexte B sous A Sup(BA)=2 =>item C et E vu deux fois =>Résultat BACE (propriétés) ... Puis prend le Sous-contexte E (sans A car on a déjà trouvé tous les fermés contenant A) ...

  26. Closet: Propriété • Soit X et Y deux itemsets et sup(X)=sup(Y), Y n’est pas itemset fermé si Y  X • Si il existe un itemset Y apparaissant dans un sous-contexte, XY forme un ferme fréquent s’il n’est pas un sous ensemble d’un fermé fréquent avec le même support.

  27. Implication unitaire forme: a  A - Recherche des éléments irréductibles • Fermeture de ces éléments • polynomial

  28. Application unaire • A  a • Utile pour la classification • Lien avec un système d’implication B  A <=> {B  a | aA}

  29. Propriétés • a1a2.... an -> a <=> e(a1a2.... an )  e(a) • (a1a2.... an)  a<=> e(a1a2.... an ) U e(a)= O • a1 a2  .... an  a <=> e(a1) Ue(a2) U.... UU e(an)= O-e(a) • Retrouve un probleme de couverture ensembliste • NP-complet si on cherche la couverture minimale • Algorithme glouton qui donne une couverture si elle existe.

  30. Extension • Ajout du Ou et du Non dans les règles • Passage au structurel • via propositionnalisation • via spécialisation et fermeture

  31. Références/URL

  32. Algorithm Close • Entrées: Contexte et minsup • Sortie: ensemble des itemset fermés fréquents • 1: Initialiser l’ensemble de candidats de taille 1 • k<-1 • initialisation de FFCk .gen<- {1-itemset} // Candidat • 2: Tant que FFCk.gen≠0 faire • 3: Etape élagage(ou de test) • 1) FFCk.supp <- Ø • 2) FFCk.ferm <- Ø; • 3) FFCk<- Gen-Fermeture(FFCk) // Fermes pour les generateurs • 4: Etape construction • 1) pour tout c  FFCk faire • si (c.supp≥minsup) alors • FCk <-FCk c // Itemset fermé fréquent • fin si • FFCk+1.ferm=Gen-Generateur(FCk) • fin pour • 5: k++ • 5: fin tant que • 6: retourner FC=  FCk

  33. Principe charm • Parcours en profondeur • Gestion de couple Itemset et Objets • Opération entre deux itemsets: Union itemset et intersection des extensions • Ordre de parcours: Pour X1 et X2 on dit que X1 ≤ X2 ssi Order(X1)≤Order(X2) un ordre partiel donné (par exemple ordre lexical ou ordre sur les supports => ordre de parcours

  34. charm propriétés • Pour tout itemset X, support(X)=support(ƒ(X)) • La régle X -pY est équivalente à la règle ƒ(X) -qƒ(Y) et p=q • On a X1 x e(X1) et X2 x e(X2) et X1 ≤ X2 • si e(x1)=e(x2) alors e(X1 x2)=e(x1)e(x2)=e(X1)=e(x2) => on remplace chaque occurence de X1 par X2 • si e(x1) e(x2) alors e(X1 x2)=e(x1)e(x2)=e(X1)≠e(x2) => on remplace chaque occurence de X1 par X1 x2 car X1 apparait dans chaque objet ou x2 apparait • si e(x1) e(x2) alors e(X1 x2)=e(x1x2)=e(X2)≠e(x1) => on remplace chaque occurence de X2 par X1 x2 car X2 apparait dans chaque objet ou x1 apparait • si e(x1) ≠ e(x2) alors e(X1 x2)=e(x1x2)≠e(X2)≠e(x1) => on ne peut rien éliminer. X1 et X2 méne à 1 fermé.

  35. Exemple Pour minsup=2, ≠ indique non inclusion , [X] liste des fils de l’itemset X On commence [Ø]= {A x 135, Bx2345,Cx1235,Dx1,Ex2345} On prend le premier élement On cherche [A] on prend Ax135 et on le combine aux éléments du pére ici [Ø] soit {A B C E }=> AB x 35 comme e(A) ≠ e(B), ABx35 est inséré dans [A] (fils de A) AC x 35 comme e(A)  e(c)alors A est remplace par AC ACEx35 comme e(AC) ≠ e(E) alors ACEx35 est ajouté à AC [AC]={ABx35,ACEx35} Ensuite on relance (récursif => profondeur) en partant de [AC] on cherche [AB] on combine ABx35 avec ACEx35 comme e(AB)=e(ACE) alors AB est remplace par ABCE On cherche [B] comme e(B)≠e(C) BCx235 est ajouté comme e(B)=e(E), BE sont combiné et E est enlevé de [Ø] et B remplacé par BE C ne peut être étendu et est donc inséré au résultat

  36. Algorithme Charm • CharmEtend • Entrées: [P],FC • Sortie: FC modifié • pour tout Ai x e(Ai) [P] faire • [Pi] =0 et X= Ai • pour tout Aj x e(Aj) [P]& Aj≥Ai • X=XAi • Y=e(Ai)  e(Aj) • ?? ou passe X Y dans Pi ? • //Elagage • Charm-Proprietes([P], [Pi]) • si [Pi] ≠0 alors • CharmEtend([Pi],FC) • Supprimer([Pi]) • FC=FCX • fin si • fin pour •fin pour • retourne FC • Charm • Entrées: Contexte et minsup • Sortie: ensemble des itemset fermés fréquents • 1: Initialiser l’ensemble de candidats de taille 1 • [P] <- {Ai x e(Ai) avec Ai • et support(Ai) ≥ minsup} • 2: Etape de construction • CharmEtend([P],FC=ø} • 6: retourner FC Charm-proprietes: voir transparent précédent

  37. Titanic • Algorithme en largeur • Stumme 2002

  38. Principe de Titanic • Amélioration de l’utilisation des supports => support estimatif: valeur minimale des cardinaux des deux itemsets joins, but limiter l’usage de l’opération ƒ

  39. Propriétés • Pour un itemset X.ƒ(X) = X{mA-X/ supp(X)=supp(X{m})} Donc si l’on connait les supports on peut calculer la fermeture • X non candidat ssi supp(X)=min{supp(X\{m})|m  X} (cle: non) • Support(X) ≤ Support-estimatif(X)

  40. Exemple •Commence par 1-itemset FFC1: Calcul de support estimatif (S-E) ici |0| par defaut et support reel (S-R) • Elagage / minsup donne FC1 •Création de FFC2 à partir de FC1 -Tout élément de FFCk doit voir ces k sous-ensembles appartenir à FCk - Elimination des FFC2 non support valide et support estimatif=support reel (clé non)

More Related