Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parOscar Normandin Modifié depuis plus de 8 années
1
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 http://www-users.cs.umn.edu/~kumar/dmbook/index.php 1
2
DÉFINITION DU PROBLÈME Section 6.1 2
3
Concepts de base Soit une base de données transactionnelles où chaque transaction est une liste d’items (achats par un client lors d’une visite) Trouver: toutes les règles qui associent la présence d’un ensemble d’items avec la présence d’un autre ensemble. ◦ ex., 98% des personnes qui achètent des pneus et d’autres accessoires d’autos, achètent également un service pour l’auto (changement de pneus et/ou autres services) Applications ◦ * service de maintenance (Qu’est-ce que le magasin peut faire pour augmenter ses ventes de service de maintenance ?) 3
4
Objectif de l’analyse des associations Identifier des profils, associations ou structures entre les items ou objets qui sont fréquents dans les bases de données transactionnelles, relationnelles, ou dans les entrepôts de données. Autrement dit, il s’agit d’identifier les items qui apparaissent souvent ensemble lors d’un évènement (ex. les items achetés lors d’une visite dans un magasin). 4
5
Forage de règles d’association Étant donné un ensemble de transactions, trouvez des règles qui, basé sur les items déjà présents dans une transaction, prédiront l’occurrence d’autres items dans cette transaction. 5 Ex. : panier d’épicerie Exemple de règles d’association {Diaper} {Beer}, {Milk, Bread} {Eggs,Coke}, {Beer, Bread} {Milk}, Signifie cooccurrence, pas la causalité !
6
Autres exemples de règles d’association Si un client achète des souliers, alors 10% du temps il achète aussi des bas. Les clients qui achètent de la peinture au Latex, achètent également des rouleaux à peinture dans 85% du temps. 6
7
Définition de transaction et itemset Soit I = {i 1, i 2,…, i d } une collection d'articles ◦ Ex : {Beer, Bread, Coke, Diaper, Eggs, Milk}, Une transaction t est un événement qui correspond au choix d’un sous-ensemble de I ◦ transactions == évènements Les données ou base de données transactionnelle T est un ensemble de transactions ◦ T = {t 1, t 2,…, t m } Un itemset est un sous-ensemble d’articles ◦ En général un sous-ensemble d’une transaction Un k-itemset est un itemset de k éléments 7
8
Définition de support Nombre de supports d’un itemset x : (x) Support d’un itemset x : sup(x) Minsup : le support minimum que doit avoir un itemset pour être déclaré fréquent. Itemset fréquent : un itemset x tel que sup(x) minsup 8
9
Commentaires et exemple des définitions Itemset Peut être ≠ des transactions Ex: {Milk, Bread, Diaper} T Nombre de support ( ) ◦ Ex. ({Milk, Bread,Diaper}) = 2 Support (sup) ◦ P. ex. s({Milk, Bread, Diaper}) = 2/5 Itemset fréquent ◦ Si minsup = 3/5 alors {Bread, Milk} est un itemset fréquent Mais non {Bread, Milk, Diaper} 9
10
Définition d’une règle : LHS RHS Règle d’association ◦ Une expression de la forme x y, où x et y sont des itemsets ◦ Exemple : {Milk, Diaper} {Beer} x= {Milk, Diaper} et y = {Beer} ◦ LHS (Left Hand Side) l’antécédent est ce qui est à gauche de la règle ex: pain et beurre ◦ RHS (Right Hand Side) conséquent est ce qui vient à la droite de la règle ex: lait {pain beurre} {lait} 10
11
Caractéristiques des règles Types des articles ◦ booléen, quantitatif, catégorique Dimensions d’une règle ◦ 1D : buys(cocoa, powder) buys(milk) ◦ 2D : achat(x, BMW) revenu(x, >50000$ ) ◦ 3D : age(X, ’under 12’) gender(X, ’male’) buys(X, ’comic book’) un exemple de profilage à l’aide de règles d’association Les règles d’association peuvent être : ◦ Intratransactionnelles : achats effectués lors d’une même transaction (dans ce cours) ◦ Intertransactionnelles : achats effectués sur plusieurs transactions généralement dans le temps (voir données séquentielles dans le chap. 7) 11
12
Qualité d’une règle La pertinence d’une règle (Liu et al., 1999): ◦ Certaines règles générées peuvent être évidentes ex : {Butter} → {Bread} ◦ Des évènements sans intérêt peuvent survenir très souvent ex : {Milk} → {Bread} ◦ Des événements intéressants peuvent survenir rarement ex : {Diapers} → {Beer} Comment évaluer la pertinence d’une règle générée automatique ment ◦ Mesure subjective et objective voir prochaines diapositives 12
13
Mesures subjectives de la pertinence d’une règle Souvent basé sur l’expérience antérieure du client et ses croyances Nouveauté : une règle est pertinente si elle est inconnue ou contredit la croyance Utilité : une règle est pertinente si le client peut tirer profit de son utilisation 13
14
Mesure objective de la pertinence d’une règle Basée sur des ratios dont les seuils sont déterminés par le client Les mesures typiques sont : ◦ simplicité ◦ support (utilité) ◦ confiance (certitude) ◦ effet de levier (lift) 14
15
Métrique d’évaluation des règles Simplicité d’une règle ◦ La longueur d’une règle peut être déterminée par le client ◦ Si LHS et le RHS d’une règle sont simples alors l’interprétation de la règle est souvent plus intuitive Par contre, il peut y avoir un nombre considérable de règles simples buys(cocoa powder) buys(bread, milk, salt) buys(cocoa powder) buys(milk) ◦ Il est souvent intéressant de découper les variables quantitatives en intervalles significatifs, par exemple les groupes d’âge. 15
16
Métrique d’évaluation des règles 16
17
Exemples des métriques 17
18
Support et confiance Si la confiance d’une règle r atteint une valeur de 100% alors r est exacte. Même si la confiance d’une règle atteint une valeur élevée, elle peut être peu utile si son support est faible. Les règles qui ont des valeurs élevées pour la confiance et le support sont appelées des règles fortes. 18
19
Exemple Nombre de transactions = 10 Soit X={1} et Y={2} ◦ Fréquence (X ) = 6 ◦ Fréquence (Y ) = 9 ◦ Fréquence (X => Y ) = 5 ◦ Support (X => Y ) = 5/10 ou 50% ◦ Confiance (X => Y ) = 5/6 ou 83,3% ◦ Levier (X => Y ) = (5/6) / (9/10) = 92,6% 19 TrItem 1 2 3 4 5 6 7 8 9 10 1, 2, 5 2, 4 2, 3 1, 2, 4 1, 2, 3 2, 3, 5 1, 3 1, 2, 3, 5 1, 2, 3 2, 3
20
Exemple (suite) ◦ Support ({1} => {2} ) = 5/10 ou 50% ◦ Confiance ({1} => {2})= 5/6 ou 83,3% ◦ Levier ({1} => {2} ) = (5/6) / (9/10) = 0.92 Donc : « 83,3 % des clients qui achètent l’item 1 achètent aussi l’item 2, cette configuration se retrouvant pour 50 % des individus». Cependant, l’effet de levier (lift) se trouve inférieur à 1. Donc, on ne gagne rien à utiliser la règle 1=>2 pour prédire 2. 20
21
Lift d’une règle Le lift d’une règle mesure son intérêt. C’est l’amélioration apportée par une règle, par rapport à une réponse au hasard Quand le lift < 1, la règle n’apporte rien 21
22
Le forage de règles d’association Étant donné un ensemble de transactions T, le but du forage de règles d’association est de trouver toutes les règles dont ◦ support ≥ seuil minsup ◦ confiance ≥ seuil minconf L’approche force brute : ◦ Faire la liste de toutes les règles d’associations possibles ◦ Calculer le support et la confiance de chacune de ces règles ◦ Supprimer les règles dont le support et la confiance sont en deçà respectivement des seuils minsup et minconf Computationnellement prohibitif ! 22
23
Le forage des règles d’association 23 Exemple de règles : {Milk,Diaper} {Beer} (s=0.4, c=0.67) {Milk,Beer} {Diaper} (s=0.4, c=1.0) {Diaper,Beer} {Milk} (s=0.4, c=0.67) {Beer} {Milk,Diaper} (s=0.4, c=0.67) {Diaper} {Milk,Beer} (s=0.4, c=0.5) {Milk} {Diaper,Beer} (s=0.4, c=0.5) Observations: Toutes les règles ci-dessus sont des partitions binaires d’un même itemset {Milk, Diaper, Beer} Les règles qui découlent d’un même itemset ont un support identique, mais peuvent avoir une confiance différente Nous pouvons donc traiter ces deux exigences séparément voir stratégie sur la prochaine diapositive
24
Le forage des règles d’association Une approche en 2 étapes : 1.Générer les itemsets fréquents Les itemsets dont le support minsup 2.Générer des règles ayant une confiance acceptable en partitionnant chacun des itemsets fréquents. L’étape 1 est cependant toujours computationnellement couteuse 24
25
GÉNÉRATION DES ITEMSETS FRÉQUENTS Section 6.2 25
26
Génération des itemsets fréquents Le treillis des candidats possibles 26 À partir de d articles, il y a 2 d itemsets possible
27
La méthode force brute de génération 27
28
Génération des itemsets fréquents L’approche force brute ◦ chaque itemset dans le treillis est un candidat en tant qu’itemset fréquenttreillis ◦ Calculer le support de chaque candidat en parcourant la base de données ◦ Trouver toutes les transactions associées à chaque candidat ◦ Complexité ~ O(NMw) Coûteux parce que M = 2 d - 1 28
29
Stratégies pour générer les itemsets fréquents Réduire le nombre de candidats (M) ◦ Fouille complète : M=2 d -1 ◦ Utilisez des techniques d’élagage pour réduire M Réduire le nombre de transactions (N) ◦ Le nombre de transactions pertinentes pour chaque candidat décroit lorsque la taille des candidats augmente ◦ Stratégie utilisée par DHP et les algorithmes de forage basés sur une disposition verticale des données Réduire le nombre de comparaisons (NM) ◦ Utiliser des structures de données efficaces pour encoder les candidats et les transactions ◦ Inutile de traiter toutes les paires candidats -- transactions 29
30
Réduire le nombre de candidats Principe a priori : ◦ Si un itemset est fréquent alors tous ses sous-ensembles sont aussi des itemsets fréquents ◦ La fonction support s est antimonotone Soit x et y des itemsets Le support d’un itemset est toujours inférieur à celui de ses sous-ensembles Si un itemset x n’est pas fréquent alors tous les itemsets y tel que x y sont aussi non fréquents 30
31
Illustration du principe Apriori 31
32
Évalué comme non fréquent Illustration du principe Apriori Élaguer ses sur-ensembles 32
33
Illustration du principe Apriori Items (1-itemsets) Pairs (2-itemsets) Triplets (3-itemsets) Support minimum = 3 Si tous les candidats sont considérés 6 C 1 + 6 C 2 + 6 C 3 = 41 Avec élagage selon le support, 6 + 6 + 1 = 13 33
34
Illustration du principe Apriori 34 D Parcours D C1C1 L1L1 L2L2 C2C2 C2C2 C3C3 L3L3 Support minimum = 2
35
Génération d’itemsets fréquents de l’algorithme Apriori 35
36
36
37
L’algorithme fusionne les 2-itemsets fréquents {Bread, Diapers} et {Bread, Milk} pour former {Bread, Diapers, Milk} un 3-itemset candidat. L’algorithme ne tente pas de fusionner {Beer, Diapers} avec {Diapers, Milk} parce que leurs préfixes sont différents ◦ Si {Beer, Diapers, Milk} pouvait être un candidat, il aurait été formé lors de la fusion de {Beer, Diapers} avec {Beer, Milk}. ◦ L’algorithme doit maintenir l’ordre dans chaque candidat et l’ordre des candidats Exemple des k-2 (k-1)-itemsets à tester avant l’inclusion dans C k ◦ Soit k = 5, t 1 ={a b c d} t 2 ={a b c e} t 1 U t 2 = {a b c d e} ◦ Il faut tester si {a b d e}, {a c d e}, {b c d e} sont fréquents 37
38
38
39
39
40
Énumération intelligente des k-itemsets à partir d’une transaction 40 Étape 1
41
41 Étape 2-3
42
Dénombrement du support des itemsets à l’aide d’un arbre de hachage 42 Étape 2-3
43
43 Génération de l’arbre de hachage 2 3 4 5 6 7 1 4 5 1 3 6 1 2 4 4 5 7 1 2 5 4 5 8 1 5 9 3 4 5 3 5 6 3 5 7 6 8 9 3 6 7 3 6 8 1,4,7 2,5,8 3,6,9 Hash function l’ordre des itemsets n’est pas lexicographique Étape 2
44
Ajout des itemsets dans l’arbre 1 4 5 1 2 4 4 5 7 1 2 5 1 4 5 1 2 4 4 5 7 1 2 5 4 5 8 1 4 5 1 2 5 4 5 8 1 2 4 4 5 7 1 5 9 c d b 1 4 5 1 2 4 4 5 7 1 2 5 a 44 Soit C k = {{1 4 5} {1 2 4} {4 5 7} {1 2 5} {4 5 8}, {1 5 9} {1 3 6} {2 3 4} {5 6 7} {3 4 5}, {3 5 6} {3 5 7} {6 8 9} {3 6 7} {3 6 8}} 1,4,7 2,5,8 3,6,9 Hash function Étape 2
45
Génération de l’arbre de hachage 1 5 9 1 4 51 3 6 3 4 53 6 7 3 6 8 3 5 6 3 5 7 6 8 9 2 3 4 5 6 7 1 2 4 4 5 7 1 2 5 4 5 8 1,4,7 2,5,8 3,6,9 Fonction de hachage L’arbre de hachage des itemsets potentiels 45 Étape 2
46
Énumération des 3-itemsets à partir de la transaction t 46 Étape 1
47
Associer les k-itemsets d’une transaction aux alvéoles de l’arbre 1 5 9 1 4 51 3 6 3 4 53 6 7 3 6 8 3 5 6 3 5 7 6 8 9 2 3 4 5 6 7 1 2 4 4 5 7 1 2 5 4 5 8 1 2 3 5 6 1 +2 3 5 6 3 5 62 + 5 63 + 1,4,7 2,5,8 3,6,9 transaction 47
48
Associer les k-itemsets d’une transaction aux alvéoles de l’arbre 1,4,7 2,5,8 3,6,9 1 5 9 1 4 5 1 3 6 3 4 5 3 6 7 3 6 8 3 5 6 3 5 7 6 8 9 2 3 4 5 6 7 1 2 4 4 5 7 1 2 5 4 5 8 1 2 3 5 6 3 5 61 2 + 5 61 3 + 61 5 + 3 5 62 + 5 63 + 1 +2 3 5 6 transaction 48
49
Associer les k-itemsets d’une transaction aux alvéoles de l’arbre 1,4,7 2,5,8 3,6,9 1 5 9 1 4 5 1 3 6 3 4 5 3 6 7 3 6 8 3 5 6 3 5 7 6 8 9 2 3 4 5 6 7 1 2 4 4 5 7 1 2 5 4 5 8 1 2 3 5 6 3 5 61 2 + 5 61 3 + 61 5 + 3 5 62 + 5 63 + 1 +2 3 5 6 transaction 5 des 9 alvéoles ont été visitées 9 des 15 itemsets ont été visités et le support de 3 de ces derniers ont été incrémentés 49
50
Facteurs affectant la complexité Choix du seuil de support minimal (minsup) ◦ Diminuer le seuil accroît le nombre de candidats la longueur maximum des itemsets fréquents. Dimensionnalité ( # items) ◦ L’espace nécessaire pour encoder les items augmente avec le # d’items. ◦ Si le nombre d’itemsets fréquents s’accroît aussi alors le cout computationnel et des I/O s’accroît aussi Dimension de la base de transactions ◦ Comme Apriori fait de multiples passes sur les transactions alors la complexité temporelle s’accroît avec le nombre de transactions. Le nombre moyen d’items par transactions ◦ la largeur d’une transaction s’accroît avec la densité des données s’accroît en même temps la longueur maximum des itemsets fréquents et par conséquent la traversée de l’arbre de hachage (parce que le nombre de sous- ensembles de la transaction s’accroît aussi avec la largeur de la transaction). 50
51
Complexité temporelle de Apriori Génération des 1-itemsets fréquents ◦ O(nw) n : le nombre de transactions w : largeur moyenne des transactions Génération des k-itemsets potentiels ◦ Fusion des (k-1)-itemsets fréquents C k : ensemble des k-itemsets potentiels F k-1 : ensemble des (k-1)-itemsets fréquents 51
52
Complexité temporelle d’Apriori … Génération des k-itemsets potentiels… ◦ Construction de l’arbre de hachage contenant les k-itemsets potentiels Il faut placer chaque élément de C k, et comme la profondeur maximum de l’arbre est k alors il y a au plus k steps ◦ Élagage des k-itemsets non fréquents Pour chaque élément potentiel de C k, il faut vérifier la fréquence de k-2 sous- ensemble, ceci se fait en cherchant sa présence dans l’arbre de F k-1, donc en k steps. 52
53
Complexité temporelle d’Apriori … 53
54
DIC: (dynamic itemset counting) 54 ABCD ABC ABDACD BCD ABACBC AD BDCD A BCD {} Itemset lattice Transactions 1-itemsets 2-itemsets … Apriori 1-itemsets 2-items 3-itemsDIC S. Brin R. Motwani, J. Ullman, and S. Tsur. Dynamic itemset counting and implication rules for market basket data. In SIGMOD’97 Réduction du nombre de traversées de la BD Une fois que A et D sont déterminés fréquents, le décompte du nombre de AD débute. Une fois que tous les sous-ensembles de BCD alors de décompte de BCD débute
55
Découverte des itemsets fréquents par partitionnement
56
1.Divide D into partitions D 1,D 2,…,D p; 2.For I = 1 to p do 3. L i = Apriori(D i ); 4.C = L 1 … L p ; 5.Count C on D to generate L;
57
Découverte des itemsets fréquents par échantillonnage À partir d’un échantillon de la BD, trouver les itemsets fréquents avec Apriori ◦ Il est suggéré de prendre un minsup légèrement plus petit pour ne pas perdre d’itemsets fréquents. Si un itemset fréquent n’est pas trouvé alors il se trouvera sur la frontière négative. Traverser le reste de la BD pour compléter le décompte des itemsets fréquents et ceux situer sur la frontière négative Si aucun itemsets sur la frontière négative s’avère fréquents alors les itemsets fréquents sont ceux qui ont été identifiés ◦ C’est efficace mais il est possible d’en échapper Si un itemset de la frontière négative, il faut recommencer mais uniquement pour les supersets des éléments de la frontière négative 2qui se sont avérés fréquents. H. Toivonen. Sampling large databases for association rules. In VLDB’96 57
58
Découverte des itemsets fréquents par échantillonnage
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.