Rgles Associatives w Dfinition et introduction w Indicateurs
- Slides: 52
Règles Associatives w Définition et introduction w Indicateurs de pertinence w Algorithme d'extraction w Algorithmes optimisés w Vers des règles plus robustes w Règles associatives multi-niveaux w Conclusion
1. Objectifs w Découvrir des règles liant les données ave un bon niveau de probabilité n n découverte de relations fines entre attributs (ou variables) généralisation des dépendances fonctionnelles l w Règles du style si P(tid, X) alors P(tid, Y) n w Num. SS Sexe notée: P(tid, X) P(tid, Y) encore X Y Différents types de règles n n origine "panier de la ménagère" étendues aux tables multiples et aux attributs continus
Attributs simples w Table normalisée ACHAT
Règles mono-dimensionnelles w simple n Achat(tid, "vin") Achat(tid, "pain") w conjonctive n Achat(tid, "pain") & Achat(tid, "fromage") Achat(tid, "vin") w Règles booléennes (attribut discret) mono-dimensionnelles w notation simplifiée pour règles booléennes 1 -D n n X Y où X et Y sont des ensembles d'items disjoints Formellement I= {Items}, X I , Y I , X Y = {"vin"} {"pain"} {"pain", "fromage"} {"vin"}
Attributs multi-valués w Chaque ligne correspond à une ménagère ACHATS w Achats(tid, "pain") Achats(tid, "crème") w en raccourci : {"pain"} {"crème"}
Règles multi-dimensionnelles w Mettent en jeu plusieurs attributs n n Achats(tid, age>50) Achats(tid, produit="pilule") en abrégé : age>50 produit="pillule" w Voir plusieurs relations n n Personne(tid, age>50) & Personne(tid, salaire>10000) Achats(tid, produits="luxe") il est possible de se ramener à 1 table par jointure l Personne Achats w Attributs continus (règles quantitatives) n n Age, Salaire … Possibilité de les discrétiser
2. Indicateurs de pertinence w Support : probabilité absolue P(X Y) n ||X Y||/ ||BD|| = % de transactions vérifiant la règle w Confiance : probabilité conditionnelle P(Y/X) n ||X Y||/||X|| = % de transactions vérifiant l'implication w Règles intéressantes ? n n n par exemple : Support > 0. 1 et Confiance > 0. 7 comment extraire les règles intéressantes ? comment optimiser les calculs d'indicateurs sur des VLDB ?
Exemple 1 Règle & Support Confiance 2/4 2/3 1/4 1/2
Exemple 2 w { "crème" } { "pain" }
Calculs d'indicateurs w Support = Prob. (crème et pain) w Confiance = Prob(crème et pain / crème)
Support et Confiance w La confiance se déduit du support n conf (X-->Y) = sup(XY) / sup(X) w Il est donc intéressant de calculer les supports d'abord w Un ensemble de produits de support plus grand que le support minimum (minsup) est dit fréquent.
Ensembles fréquents w Un ensemble de taille k est appelé un kensemble. w Tout k-ensemble fréquent est composé de (k 1)-ensembles fréquents n n en effet, un ensemble ne peut être fréquent si certains sous-ensembles ne le sont pas tout sous-ensemble d'un ensemble fréquent est fréquent
3. Recherche des règles intéressantes w La détermination des ensembles fréquents permet de trouver un sur-ensemble des règles intéressantes w La confiance permet de filtrer les règles lors de la génération w Nécessité de calculer les supports n de tous les produits l n 1 -ensembles fréquents de tous les ensembles susceptibles d’être fréquents l 2 -ensembles fréquents, 3 -ensembles fréquents, etc.
Algorithme Apriori [Agrawal 94] w Première passe : n n recherche des 1 -ensembles fréquents un compteur par produits w L'algorithme génère un candidat de taille k à partir de deux candidats de taille k-1 différents par le dernier élément n procédure apriori-gen w Passe k : n n comptage des k-ensemble fréquents candidats sélection des bons candidats
Apriori – Fréquents itemsets L 1 = {frequent 1 -ensemble} ; for (k = 2 ; Lk-1 ; k++) do { Ck = apriori-gen(Lk-1); // Generate new candidates foreach transactions t DB do { // Counting Ct = { subset(Ck, t) }; // get subsets of t candidates foreach c Ct do c. count++; } Lk = { c Ck |c. count >= minsup } ; // Filter candidates } Answer = {Lk} ;
Exemple Données en entrée Ck L= { {1}, {2}, {3}, {5}, {1 3}, {2 5}, . . . } Lk Pour I = {1 3} génère 2 règles : R 1 : 1 3 (100%) R 2 : 3 1 (66%) R 1 plus solide que R 2
Apriori – Génération des règles // Entrée : Min. Conf, Lk ensembles d’items fréquents // Sortie : ensemble R de règles d’associations Rules = ; for (k = 2 ; Lk-1 �; k++) do { Foreach subset S of Lk do { Conf (S Lk-S) = Sup(I)/Sup(S) If Conf >= Min. Conf then { rule = “ S ( Lk-S ) ” ; Rules = Rules {r} ; } } Answer = Rules ;
4. Comment évaluer efficacement ? w N passes sur la base n n 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 w Trouver les produits d'une transaction peut nécessiter de la mémoire si table normalisée
Apriori-tid w Optimisation de Apriori n n n chaque transaction à un tid liste de tid par k-ensemble Calcul d'un k-ensemble l l 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) w Inconvénient n n les listes sont lourdes et doivent être gardées en mémoire inefficace si les listes ne tiennent pas en mémoire
Algorithme A-Priori Partition[SON 95] w La base est divisée en N partitions n n chaque partition tient en mémoire les partitions peuvent être traitées en parallèle w Chaque partition est traitée indépendamment n découverte des ensembles fréquents pour chaque partition w Remarque n un ensemble fréquent doit l’être dans au moins une partition w Exploration de l ’union des ensembles fréquents sur la base n n comptage en une passe élimination des ensembles non fréquents w Avantage n n deux passes au plus parallélisable facilement
Algorithme de comptage dynamique w Train circulant par étape de M transactions n le train emporte des ensembles à compter l l n suspecté large : un ensemble toujours en cours de comptage qui excède le support ; suspecté petit : un ensemble toujours en cours de comptage qui est en dessous du support. A l’étape des passagers montent et descendent l l l confirmé large : un ensemble dont le comptage est terminé et qui excède le support ; confirmé petit : un ensemble dont le comptage est terminé et qui est en dessous du support ; nouveaux suspectés petits : sur-ensembles immédiats des suspectés larges ou confirmés larges w Comptage total en une passe et demi !
Dynamic Counting (DIC) [Brin 97] w Tous les 1 -ensembles sont marqués “ suspecté petit ”. w M transactions sont lues. Les compteurs et supports sont calculés pour les ensembles suspectés petits ou larges. w Examiner les ensembles à l 'étape : si un suspecté petit à un support supérieur au seuil, le transformer en suspecté large ; générer tous ses sur-ensembles dont les sous-ensembles sont confirmés ou suspectés larges. w Si un ensemble en cours de comptage (suspecté petit ou large) a été compté pour toutes les transactions, le transformer en confirmé petit ou large selon le support obtenu. w Si on est en fin de table, revenir au début. w S’il reste au moins un ensembles suspecté petit ou large, aller à 2.
Comptage par Bitmap [GPW 98] w Utilisation d'index bitmaps multi-niveaux w Construction en une passe w Comptage rapide en mémoire w Intersection, Union, Négation très efficaces
Les index bitmap Ménagère Produits Prix 1 {P 1, P 3, P 5} 2 {P 2, P 3} 3 {P 4} 4 {P 2, P 5} 5 {P 3, P 4, P 6} 120 70 150 110 220 P 1 1 0 SELECT Ménagère WHERE 0 (P 2 OR P 3) AND Coût <200 0 P 2 P 3 P 4 P 5 P 6 0 1 0 1 1 0 0 0 -100 100 -200 200 -300 0 1 00 1 1 0 00 0 0 1 0 0 1 1 00 0 0 0 1 0
Bitmaps versus Listes w Plus compactes : N*P bits contre N*K 16 bits w Plus rapides : Opérations logiques en place de tri-fusion Liste de TIDs 3 5 7 Groupe 0: 0 1 2 3 4 5 6 7 8 0 0 1 0 1 0 0 Groupe 1: 0 1 2 3 4 5 6 7 8 0 0 0 0 0 Groupe 2: 0 1 2 3 4 5 6 7 8 0 0 1 0 0 0 12 9 0 9 1 35 42 10 11 12 13 14 15 0 1 0 0 10 11 12 13 14 15 0 0 0 Bitmap niveau 1 Bitmap niveau 2 1 0 1
L'algorithme 1 -BM w Génération d'un k-ensemble fréquent à partir de 2 (k-1)-ensembles fréquents w Calcul du support par comptage du nombre de bits dans l'intersection des vecteurs associés de la bitmap
L'algorithme 2 -BM w La bitmap est indexée par une bitmap de niveau supérieur w Les intersections s'effectuent au niveau de la 2 -BM n si 0 => pas nécessité d'accès à la 1 -BM w Les bitmaps peuvent être compressées n n horizontalement : codage des colonnes N col => Log 2 N bits verticalement : (position, longueur) des séquences de 1
Comparaisons w 2 -BM est beaucoup plus performant que les listes w Il gagne plus d'un ordre de grandeur pour des supports élevés (longues listes) w La taille mémoire nécessaire est faible car il n'est pas nécessaire de garder les 1 -BMs (l'intersection est peu coûteuse et peut être refaite quand nécessaire) w Il travaille en une seule passe si assez de mémoire 28
Evaluation analytique Execution Cost ro: Correlation between item A and item B Sa, Sb, Sab: Support of itemset A, B and AB Memory Consumption Freq: Number of frequent 1 -itemsets Sup: Minimum support 29
Résultats Experimentaux Le nombre de transactions varie de 100 K A 300 K minsup = 0. 25% minsup = 0. 75%
Algorithme FP-Grows [Han 00] w Représentation des items fréquents par un index spécial FP-tree (Frequent Pattern Tree) w Construction du FP-tree n n Déterminer les produits fréquents (1 -ens. ) Trier par fréquence décroissante (table) Créer une racine vide Pour chaque transaction: l l l 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ération des ensembles fréquents w Exploitation récursive du FP-tree w Pour chaque item fréquent n Construire les chemins préfixes dans le FP-tree l n Fusionner les préfixes identiques et conserver les souschemins de support >= minsup l n conditional pattern base conditional FP-tree Générer les ensembles fréquents par combinaison des nœuds des chemins fréquents w Un peu complexe !!!
Perfomance w 2 passes sur la BD w Le FP-tree peut être volumineux w Peut ne pas tenir en mémoire w Solution : n possibilité de combiner avec Apriori partition …
Bilan Règles Booléennes w De nombreux algorithmes qui passent à l'échelle w Les applications restent difficiles n le monde réel est plus complexe l l n recherche de séquences recherche de séries temporelles interprétation difficile l trop de règles sorties, coefficients ? w Questions ? n Quelles valeurs pour minsup et minconf ?
5. Génération de règles plus robustes w Comment fixer support et confiance ? w Comment éliminer les règles redondantes ? w Comment intégrer les taxonomies (généralisation) ?
Les mesures en question w Problème avec support et confiance n n Le support est symétrique : A B ou B A ? Whisky Viande a une confiance élevée l l l confiance(X Y) = P(Y/X) = P(XY)/P(X). ignore P(Y) élevée si P(X) est faible et P(Y) fort w La conviction [Brin 97] mieux adaptée ? n n n 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 w Sinon, comment trouver les règles ? n Les ensembles fréquents sont insuffisants. . .
La redondance simple [AY 98] w R 1 : A=> BC w R 2 : AB=> C w R 2 est redondante / R 1: n n même support (ABC) conf (R 2) =sup(ABC)/sup(AB) conf(R 1) =sup(ABC)/sup(A) donc conf(R 2) > conf(R 1) w Plus généralement, pour un kensemble fréquent il suffit d'extérioriser la règle valide de condition minimale A AB Sup(AB) < Sup(A)
La redondance stricte [AY 98] w R 1 : A=> BCD w R 2 : AB => C w R 2 est redondante / R 1 : n n n conf(R 1) = sup(ABCD)/sup(A) conf(R 2) = sup(ABC)/sup(AB) sup(A) > sup(AB) sup(ABCD) < sup(ABC) donc conf(R 1) < conf(R 2) w 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 sup(A) > sup(AB) ABCD Sup(ABCD) < Sup(ABC)
Les k-ensembles fréquents w Constituent un semitreillis w sup(X) > sup(XY) ABC 0, 3% 0, 7% 0, 6% 0, 4% 0, 5% AB AC BC BD 1% 2% 2% A B C D 1%
Génération des règles revue w Il suffit de retrouver les plus grands ensembles de support > Min. Sup w puis d'en extraire les règles de confiance > Min. Conf ayant une condition maximale w S'il n'y en a pas on descend le semi-treillis des ensembles fréquents et on itère. w Possibilité de s'intéresser à un item particulier et d'explorer ses ancêtres sur demande : n ex : A=>{AB, AC}=>{ABC}
Des règles plus générales w Les règles multi-attributs : n n associent des valeurs d'attributs distincts telephone : Source = "New-York" => Cible ="Paris" (5%, 30%) w Les règles à attributs numériques [RS 98] : n n n règles de la forme A [x, y] => C ou A est un attribut numérique et C une condition : il faut trouver x et y. exemple Age [x, y] => Salaire > 300 KF (5%, 30%) trouver x? y?
Règles disjonctives et négatives w Disjonctive n Achat(X, "crème") | Achat(X, "fromage") Achat("pain") w Négative n NOT Achat(X, "pain") Achat(X, "biscotte") w Expressions logiques n n &, | , NOT (avec parenthèses pour priorité) en condition possible aussi en tête de règles …
Les séquences temporelles w Les règles cycliques [ORS 98] n n n règles vérifiées périodiquement ex : tout les matins, café => sucre, gâteaux X=>Ycycle (l, o) signifie que X=>Y tous les l unités de temps en commençant au temps o. w Les patterns séquentiels n n n séquence d ’items ordonnés (pas ensemble) similaire aux règles associatives mais l'ordre importe exemple : l l achat de chaussures, puis pantalon, puis chemise consultation de pages web (page. A, page. C, page. F)
6. Règles multi-niveaux w Difficultés de trouver des associations robustes n n significatives au niveau des données élémentaires intérêt de pouvoir grouper les données élémentaires en classes plus ou moins générales w Impacts sur les algorithmes n n trouver les règles à plusieurs niveaux supports de règles générales plus élevés
Généralisation w La généralisation permet de résumer les données n n n introduit une hiérarchie de classe, du général au détaillé remplace les valeurs (trop) détaillées par des moins détaillées jusqu'au niveau souhaité augmente les comptages en vue d'induire des règles l exemple : plus de légumes que de carottes w Basée sur l’induction orientée attribut [Lu & Han 93] n utilise des hiérarchies de concepts
Hiérarchie de concepts w Arbre de généralisation / spécialisation de concepts w Objectifs : n décrit le passage des concepts les plus spécifiques – correspondant aux valeurs de l’attribut dans la base de données – aux concepts plus généraux w Résultats : n Table généralisée ou règles (plus ou moins caractéristiques, discriminantes. . . ) sur les données
Exemple de hiérarchies Agriculture Fruits Légumes Bananes Oranges … P. de terre Lu Ma . . . Monde Week-end Sa … Carottes ANY Semaine … Di Europe E. est E. ouest Afrique A. du nord A. du sud … Asie …
Exemple d’induction orientée attribut Induction / attribut
Algorithme optimisé (1) w Utilisation du même support à tous les niveaux n n n exemple: 7% pour Agriculture, Légume et Carotte inutile d'examiner un k-ensemble dont une classe supérieure ne satisfait pas le support exemple: ne pas miner Carotte si Légume ne satisfait pas le support
Algorithme optimisé (2) w Utilisation d'un support plus fins dans les sousclasses n n n exemple: 7% pour Agriculture, 3% Légume et 1% Carotte plus réaliste car classes de plus en plus fines plusieurs stratégies de recherche possibles l l l ne pas miner une sous-classe d'une classe non fréquente => pertes possibles évaluer par niveau de manière indépendante => algorithme coûteux évaluer en profondeur avec des seuils …
Utilisation des datacubes w Les règles multi-dimensionnelles se traitent comme les règles classiques n évaluation de prédicats à la place de l'existence d'items w Les datacubes sont un support intéressant pour la recherche de règles Ndimensionnelles n …
7. Conclusion w De nombreuses techniques de recherche de règles w La plupart passe difficilement à l'échelle n n limitées à quelques milliers d ’objets échantillonner puis valider sur le reste w Un bon outil doit proposer plusieurs techniques w Les problèmes : n n comment explorer de volumineuses bases de données ? trouver des structures d'indexation intéressantes ? maintenance incrémental des règles ? exploration de types de données complexes ?
- Dfinition
- Dfinition
- Le protecteur arno breker
- Harclement
- Définition de la lecture méthodique
- Dfinition
- Les indicateurs de l'imparfait
- Les indicateurs colores
- Indicateurs climat scolaire
- Indicateurs quantitatifs
- Comment élaborer un tableau de bord rh
- Indicateurs quantitatifs
- Quels sont les indicateurs sociaux
- Les indicateurs du pbf au cameroun
- Allo prof texte argumentatif
- Les indicateurs temporels
- Critères et indicateurs
- Conclusion paragraph format
- Learning without burden is associated with
- What is yacc
- Example of speech essay conclusion
- Introduction of an essay example
- Abstract vs introduction
- How long is an introduction
- Introduction in email
- Bridge in introduction paragraph
- Introduction answer the question
- How to close an argumentative essay
- Editorial introduction example
- Disadvantage advantage essay
- Example of introduction in research
- How to write a diary entry
- Character development essay example
- Jane schaffer introduction paragraph example
- Conclusion of mesopotamian civilization
- Work immersion portfolio
- Wireless communication introduction
- Band introduction speech
- Introduction of personal selling
- Humor introduction
- Penpalls
- Analytical essay intro example
- Qualities of a good paragraph
- Pc notes taker
- Introduction to e business
- Introduction to semiconductors
- Introduction of infosys
- Introduction of transport
- Acids and bases webquest
- Introduction to dynamic web content
- Pollution introduction
- Plato on ethics
- Water purification conclusion