Rgles dassociation - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

Rgles dassociation

Description:

I|=n alors il y a 2n ensembles J (c'est le nombre de sous ensembles ... Ex: Si produit_laitier est non fr quent alors yaourt ne l'est certainement pas. ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 57
Provided by: lab54
Category:

less

Transcript and Presenter's Notes

Title: Rgles dassociation


1
Règles dassociation
2
Recherche des Associations
  • Règles dassociation
  • motifs de la forme Corps ? Tête
  • Exemple achète(x, cacahuètes) achète(x,
    bière)
  • Etant donnés (1) une base de transactions, (2)
    chaque transaction est décrite par un identifiant
    et une liste ditems
  • Trouver toutes les règles qui expriment une
    corrélation entre la présence dun item avec la
    présence dun ensemble ditems
  • Ex., 98 des personnes qui achètent des
    cacahuètes achètent de la bière

3
Mesures Support et Confiance
  • Trouver les règles X Y ? Z avec un support gt s
    et une confiance gtc
  • support, s, probabilité quune transaction
    contienne X, Y, Z
  • confiance, c, probabilité conditionnelle quune
    transaction qui contient X, Y contienne aussi Z

Clients achetant les deux
Clients achetant chips
Clients achetant bière
Confiancesupport(X,Y,Z)/support(X,Y)
Soit support minimum 50, et confiance minimum
50, A ? C (50, 66.6) C ? A (50, 100)
4
Extraction de règles Exemple
Min. support 50 Min. confiance 50
  • Pour A ? C
  • support support(A, C) 50
  • confiance support(A, C)/support(A) 66.6

5
Extraction des associations 1ère approche
  • D une base de transactions
  • I ensemble de tous les items avec In
  • Algorithme 1 Extraction des ensembles fréquents
  • Fréquents ?
  • Pour chaque J ? I Faire
  • count(J)0
  • Pour chaque transaction t?D Faire
  • Si J ? t.items Alors
  • count(J)count(J)1
  • Si count(j) ? min_support Alors
  • FréquentsFréquents J
  • Fin

6
Extraction des associations 1ère approche
  • D une base de transactions
  • I ensemble de tous les items avec In
  • Algorithme 2 Extraction des règles
  • Règles ?
  • Pour chaque J dans Fréquents
  • Pour chaque règle r A1,,Am-1?Am t.q
    JA1,,Am
  • Si confiance(r) ? min_confiance Alors
  • Règles Règles r
  • Fin

7
Extraction des associations 1ère approche
  • Estimation du coût On ne sintéresse quaux
    accès disques
  • Algorithme 1 Pour chaque ensemble ditems J, il
    faut parcourir la base D pour compter le nombre
    de ses occurrences.
  • In alors il y a 2n ensembles J (cest le
    nombre de sous ensembles de I)?2n parcours de D
    !!!
  • Algorithme 2 On peut supposer que lensemble
     Fréquents  réside en mémoire et count(j) est
    une information déjà calculée par algorithme 1 ?
    pas daccès
  • Coût global 2n parcours de D !!!

8
Extraction des associations A priori
  • Principe Si un ensemble est non fréquent, alors
    tous ses sur-ensembles ne sont pas fréquents
  • Si A nest pas fréquent alors AB ne peut pas
    lêtre
  • si AB est fréquent alors A etB le sont
  • Itérativement, trouver les itemsets fréquents
    dont la cardinalité varie de 1 a k (k-itemset)
  • Utiliser les itemsets fréquents pour générer les
    règles dassociation

9
Lalgorithme Apriori
  • Etape de jointure Ck est généré en joignant
    Lk-1avec lui même
  • Etape délimination Chaque (k-1)-itemset qui
    nest pas fréquent ne peut être un sous ensemble
    dun k-itemset fréquent
  • Ck Itemset candidat de taille k, Lk itemset
    fréquent de taille k
  • L1 items fréquents
  • for (k 1 Lk !? k) do begin
  • Ck1 candidats générés à partir de Lk
    jointure
  • for each transaction t dans la base do
  • incrémenter le COUNTdes candidats de
    Ck1 qui sont dans t
  • Lk1 candidats dans Ck1 dont COUNT gt
    support_min
  • end for
  • End for
  • return ?k Lk

10
Apriori Exemple
Avec min_support2
base D
L1
C1
Scan D
C2
C2
L2
Scan D
C3
L3
Scan D
11
Génération des Candidats
  • Supposons que les items de Lk-1 sont triés
  • Etape 1 self-join de Lk-1
  • Insert into Ck
  • select p.item1, p.item2, , p.itemk-1, q.itemk-1
  • from Lk-1 p, Lk-1 q
  • where p.item1q.item1, , p.itemk-2q.itemk-2,
    p.itemk-1 lt q.itemk-1
  • Etape 2 pruning (elagage)
  • Pour chaque itemset c dans Ck Faire
  • Pour chaque (k-1)-sous-ensemble s de c Faire
  • Si (s nest pas dans Lk-1) Alors supprimer c
    de Ck

12
Exemple de Génération de Candidats
  • L3abc, abd, acd, ace, bcd
  • Self-join L3L3
  • abcd à partir de abc et abd
  • acde à partir acd et ace
  • Pruning
  • acde est supprimé car ade nest pas dans L3
  • C4abcd

13
Exemple Règles dassociation
  • Supposons que les données soient dans une BD
    relationnelle avec la table Transaction(Tid,
    Item). On a 108 tuples concernant 107
    transactions et lon a 105 items différents. En
    moyenne chaque transaction concerne 10 items.
  • La requête suivante sélectionne les paires
    ditems fréquents
  • SELECT t1.item, t2.item
  • FROM transaction t1, transaction t2
  • WHERE t1.Tid t2.Tid AND t1.item lt t2.item
  • GROUP BY t1.item, t2.item
  • HAVING COUNT() gt seuiltaille de la base
  • Pour chaque transaction on a paires
    à regarder ainsi la jointure a 45107 tuples

14
Exemple Règles dassociation
  • Remarque si item_1 nest pas fréquent alors
    certainement la paire item_1, item_i ne lest
    pas. Considérons la requête
  • SELECT
  • FROM transaction
  • GROUP BY item
  • HAVING COUNT() gt seuiltaille de la base
  • si seuil 0,01 alors au plus 1000 item seront
    dans le résultat.
  • Raison il y a 108 occurrences ditems. Pour
    quun item soit fréquent il faut quil apparaisse
    0,01 107 105 fois.
  • Pour chercher les paires fréquentes, utiliser le
    résultat de la requête précédente plutôt que la
    table initiale

15
Problèmes dApriori
  • Le principe de lalgorithme
  • Utiliser les (k 1)-itemsets fréquents pour
    générer les k-itemsets candidats
  • Scanner la base pour tester le support des
    candidats
  • Là où lalgo pèche génération des candidats
  • Beaucoup
  • 104 1-itemsets fréquents générant 107 2-itemsets
    candidats
  • Pour trouver les 100-itemsets on doit générer
    2100 ? 1030 candidats.
  • Plusieurs scans de la base
  • On doit faire (n 1 ) scans, pour trouver les
    n-itemsets fréquents

16
Exploration sans génération de candidats
  • Compresser la base, Frequent-Pattern tree
    (FP-tree)
  • Une représentation condensée
  • Evite les scans coûteux de la base
  • Développer une méthode efficace pour
    lexploration basée sur une approche
  • diviser-et-régner décompose le problèmes en
    sous-problèmes
  • Pas de génération de candidats test de la
    sous-base seulement !

17
FP-Trees Exemple
Supposons que min-support2. On construit la
liste  triée  L I27, I16, I36, I42,
I52 On parcourt une 2ème fois la base. On lit
les transactions selon lordre des items dans L,
i.e pour T100 on a I2,I1,I5. La lecture de T100
donne
Null
I21
I11
I51
18
FP-Trees exemple
La lecture de T200 va a priori générer une
branche qui relie la racine à I2 et I2 à I4. Or
cette branche partage un préfixe (i.e I2) avec
une branche qui existe déjà. Larbre obtenu après
lecture de T200 sera
Null
I22
I41
I11
I51
19
FP-Trees exemple
En lisant T300, lordre selon L est I1,I3. Ceci
nous amène à ajouter une branche Null?I1? I3.
Noter quelle na pas de préfixe commun avec ce
qui existe déjà. On obtient
Null
I11
I31
I22
I41
I11
I51
20
FP-Trees exemple
Finalement, le FP_tree obtenu est
Null
I27
I12
I32
I41
I14
I32
I51
I41
I32
I51
21
Phase de lexploration
  • Considérons I5. Il apparaît dans 2 branches.
    I2?I1?I51 et I2?I1?I3?I51
  • Ainsi, pour le suffixe I5, on a 2 chemins
    préfixes ltI2,I11gt et ltI2,I1,I31gt. Ils forment
    sa table conditionnelle

22
Phase dexploration (suite)
  • Le FP-tree conditionnel de I5 contient une
    seule branche I2?I1. I3 nen fait pas partie car
    son support est 1 qui est lt2 (Rappel
    min_support2)
  • Ce chemin unique va générer toutes les
    combinaisons de I5 avec I1 et I2, i.e I1,I52,
    I2,I52, I1,I2,I52

23
Phase de lexploration
  • Considérons I4. Sa table conditionnelle est
    formée de ltI2,I11gt et ltI21gt
  • Le FP-Tree conditionnel ne contient donc quun
    seul nud I2
  • Nous obtenons donc un itemset fréquent qui est
    I2,I42

24
Phase de lexploration
Ce nest pas la peine de regarder I2 car ça va
donner les combinaisons avec les autres items qui
ont déjà été considérés
25
Règles dassociation multi-niveaux
  • Les items forment des hiérarchies.
  • Les items au niveau inférieur ont des supports
    inférieurs
  • Les bases de transactions peuvent prendre en
    compte les niveaux
  • Item 111 représente le  yaourt fruit 

Fruit
26
Règles dassociation multi-niveaux
  • On dispose dune hiérarchie de concepts
  • Les niveaux sont numérotés de 0 à n en commençant
    par le niveau le plus général
  • Les concepts (ou items) de chaque niveau i sont
    numérotés de 1 à mi avec mi qui représente le
    nombre de concepts dans le niveau i
  • Les données dont on dispose représentent les
    transactions avec les items du plus bas niveau
  • Avec une chaîne de n digits on peut identifier
    tous les items du plus bas niveau.

27
Exploration multi-niveaux support uniforme
  • Approche Top-Down
  • On utilise la propriété de non monotonie Si un
    concept (ou ensemble de concepts) est non
    fréquent, alors tous ses fils sont non fréquents
  • Ex Si produit_laitier est non fréquent alors
    yaourt ne lest certainement pas.
  • Ex Si produit_laitier, pain est non fréquent
    alors yaourt, pain_au_seigle ne lest
    certainement pas
  • Problème On peut rater des règles au niveau
    inférieur

28
Exploration multi-niveaux support décroissant
  • Si niveau_i lt niveau_j alors min-support (i) gt
    min-support(j)
  • Min-support du niveau 1 est 50 et min-support de
    niveau 2 est de 10
  • Dans ce cas, il y a différentes approches
  • Indépendance entre niveaux
  • Filtre sur un seul item
  • Filtre sur k items

29
Indépendance entre niveaux
  • Dans ce cas, on nutilise aucune connaissance sur
    les parents
  • Ce nest pas parce quun parent nest pas
    fréquent que le fils ne le sera pas
  • Ce nest pas parce quun fils est fréquent que le
    parent le sera
  • Le calcul peut être Top-Down ou Bottom-Up

30
Filtre sur un seul item
  • Un item au niveau i sera examiné si son parent
    est considéré comme fréquent
  • Si Pain est fréquent alors on peut voir si
    Pain-au-seigle lest.
  • Si produit-laitier est fréquent alors on peut
    voir si yaourt lest.
  • Approche Top-Down.

31
Filtre sur k items
  • Un k-itemset est vérifié au niveau i si les
    k-parents au niveau i-1 sont fréquents
  • pain-au-seigle, yaourt sera vérifié seulement
    si pain, produit-laitier est fréquent
  • Une approche Top-Down
  • Risque de perte de règles intéressants aux
    niveaux inférieurs

32
Associations multi-niveaux Elimination des
règles redondantes
  • Certaines règles peuvent être redondantes à cause
    des relations de parenté entre items
  • Exemple
  • Produit_laitier ? pain_farine support 8,
    confiance 70
  • fromage ? pain_farine support 2, confidence
    72
  • On dit que la première règle est un ancêtre de la
    seconde
  • Une règle est redondante si son support est très
    proche du support prévu, en se basant sur sa
    règle ancêtre
  • Dans lexemple, sil y a 4 fils du nud
    Produit_laitier dont Fromage, alors le support 2
    est  prévisible 

33
Associations Multi-Dimensionnelles Concepts
  • Règles uni-dimensionnelles
  • achète(X, lait) ? achète(X, pain)
  • Règles multi-dimensionnelles 2 dimensions ou
    prédicats
  • Règles inter-dimensions (pas de prédicats
    répétés)
  • age(X,19-25) ? occupation(X,étudiant) ?
    achète(X,Cola)
  • Règles hybrides (prédicats répétés)
  • age(X,19-25) ? achète(X, popcorn) ?
    achète(X, Cola)
  • Attributs de catégorie
  • Un nombre fini de valeurs, pas dordre entre les
    valeurs
  • Attributs quantitatifs
  • numériques, il existe un ordre (implicite) entre
    les valeurs

34
Attributs catégoriels
  • Si tous les attributs sont catégoriels, on peut
    se ramener au cas classique
  • Achète(T100,Bob,cola), Achète(T100,Bob,popcorn),
    Occupation(Bob,étudiant) est remplacé par la
    transaction Tcola,popcorn,étudiant
  • Si I est fréquent et si la règle
  • cola, étudiant?popcorn
  • a une confiance suffisante alors la règle
    multidimensionnelle
  • Achète(X,cola), occupation(X,étudiant)?Achète(X,po
    pcorn)
  • est générée

35
Techniques pour Associations MD
  • Chercher les ensembles à k-prédicats fréquents
  • Exemple age, occupation, achète est un
    ensemble à 3 prédicats.
  • Le seul attribut quantitatif est age. Les
    techniques peuvent être distinguées sur le mode
    de traitement de lattribut age.
  • 1. Discrétisation statique
  • Remplacer les valeurs dage par des intervalles
    0..20, 21..40, Chaque intervalle devient donc
    une catégorie.
  • 2. Règles quantitatives
  • Les attributs quantitatifs sont dynamiquement
    discrétisés par des bins en se basant sur la
    distribution des données.
  • 3. Règles basées sur une notion de Distance
  • Cest un processus de discrétisation dynamique
    basé sur la distance entre les données

36
1) Discrétisation statique
  • Discrétiser avant dexplorer en utilisant des
    hiérarchies de concepts.
  • Les valeurs numériques sont remplacées par des
    intervalles
  • Dans une base relationnelle, trouver les
    ensembles à K prédicats fréquents demande k ou
    k1 scans

37
2) Règles quantitatives
  • Les attributs numériques sont dynamiquement
    discrétisés de sorte à maximiser la confiance ou
    la compacité des règles sont maximisées
  • Considérons le cas des règles Aquan1 ? Aquan2 ?
    Acat1
  • Regrouper les règles
  • adjacentes pour former
  • des règles générales
  • en utilisant une grille 2-D
  • Exemple


age(X,34..35) ? revenu(X,31K..50K) ?
achète(X,TV grand écran)
38
3) Règles basées sur la notion de distance
  • Cest une sorte de regroupement. Ex la distance
    entre éléments dun groupe inférieure à 4
  • La discrétisation est ici basée sur la proximité
    des éléments dun intervalle en tenant compte des
    données réelles

39
Regroupements et mesures de distances
  • SX est un ensemble de N tuples t1, t2, , tN ,
    projetés sur lensemble dattributs X
  • Le diamètre de SX
  • distxmétrique de distance, ex. Distance
    euclidienne, ou de Manhattan

40
Regroupements et mesures de distances
  • Le diamètre, d, exprime la densité dun groupe
    CX , où
  • Exploration des règles basées sur la distance
  • Le minimum de densité, d0 , remplace la notion de
    support
  • CX1,, CXn?CY1,,CYm est extraite si

41
Mesures dintérêt
  • Mesures objectives
  • support et
  • confiance
  • Mesures subjectives
  • Une règle est intéressante
  • Si elle est inattendue et/ou
  • actionnable (lutilisateur peut faire quelque
    chose avec)

42
Critiques des notions de Support et de confiance
  • Parmi 5000 étudiants
  • 3000 jouent au basket
  • 3750 prennent des céréales
  • 2000 jouent du basket et prennent des céréales
  • Jouer au basket ? prendre des céréales40,
    66.7 nest pas informative car il y a 75
    détudiants qui prennent des céréales ce qui est
    plus que 66.7.
  • jouer au basket ? pas de céréales20, 33.3
    est plus pertinente même avec un support et une
    confiance inférieurs

43
Critiques des notions de Support et de confiance
  • Exemple 2
  • X et Y positivement corrélés,
  • X et Z, négativement corrélés
  • Les support et confiance de
  • X?Z dominent
  • Nous avons besoin dune mesure de corrélation
  • est aussi appelé le lift de A gt B

44
Autres mesures
  • Intérêt (corrélation)
  • Prendre en compte P(A) et P(B)
  • P(A B)P(B)P(A), si A et B sont des événements
    indépendants
  • A et B négativement corrélés, si corr(A,B)lt1.

45
Exploration avec contraintes
  • Exploration interactive où lutilisateur pose des
    conditions en plus des minima de support et
    confiance
  • Quels types de conditions?
  • Type de connaissance recherchée classification,
    association, etc.
  • Contraintes sur les données
  • Trouver les paires de produits vendus à Bordeaux
    en Décembre 98
  • Contraintes sur les dimensions
  • En rapport à région, prix, marque, catégorie
    client
  • Contraintes sur les règles
  • Nombres de prédicats dans le corps

46
Exploration avec contraintes
  • Exemple, Base (1) trans (TID, Itemset ), (2)
    itemInfo (Item, Type, Prix)
  • Une requête dassociation contrainte (RAC) est
    une expression de la forme (S1?S2 )C ,
  • où C est un ensemble de contraintes sur S1 et S2
    incluant la contrainte de fréquence
  • Une classification de contraintes (à une
    variable)
  • Contraintes de classe ex. S2 ? I1
  • Contrainte de domaine ex. S2.Prix lt 100
  • Contraintes dagrégation ex. avg(S2.Prix) ? 100

47
Optimisation en présence de contraintes
  • Soit une RAC (S1?S2) C , lalgorithme doit
    être
  • correcte Il ne trouve que les itemsets fréquents
    qui satisfont C
  • complet Il trouve tous les itemsets fréquents
    qui satisfont C
  • Solution naïve
  • Appliquer Apriori pour trouver les itemsets
    fréquents puis éliminer les itemsets ne
    satisfaisant pas C
  • Autre approche
  • Analyser les propriétés des contraintes pour les
    intégrer dans Apriori lors de la phase de
    lexploration des itemsets fréquents.

48
Contraintes Anti-monotones et Monotone
  • Une contrainte Ca est anti-monotone ssi pour
    chaque itemset S, si S ne satisfait pas Ca, alors
    aucun de ses sur-ensembles ne satisfait Ca
  • Cm est monotone ssi pour chaque S, si S satisfait
    Cm, alors chacun de ses sur-ensembles satisfait Cm

49
Propriétés des contraintes anti-monotones
  • Anti-monotonicité Si S viole la contrainte
    alors chaque surensemble de S viole aussi la
    contrainte
  • Exemples
  • sum(S.Prix) ? v est anti-monotone
  • sum(S.Prix) ? v nest pas anti-monotone
  • sum(S.Prix) v est partiellement anti-monotone
  • Application
  • Pousser la condition sum(S.prix) ? 1000 lors
    des itérations du calcul des ensembles fréquents

50
Contraintes anti-monotones
  • C sum(S.Prix) v est partiellement
    anti-monotone dans le sens suivant
  • C est équivalente à
  • C sum(S.Prix) ? v et C sum(S.Prix) ? v
  • Si S ne satisfait pas C alors une des deux
    conditions de la conjonction est fausse
  • Si cest C qui est fausse, alors on peut faire
    des conclusions sur les S ? S

51
Contraintes monotones
  • Le problème avec ces contraintes est que lon ne
    peut pas les intégrer lors de lévaluation des
    itemsets fréquents
  • Exemples
  • Sum(S.prix) ? 100 est monotone
  • Sum(S.prix) ? v nest pas monotone
  • Par contre, si S ? S et Sum(S.prix) ? 100 alors
    ce nest pas la peine de tester Sum(S.prix)

52
Contraintes succinctes
  • Une contrainte est succincte si on peut générer
    statiquement tous les itemsets qui la satisfont
  • Exemple
  • A ? S avec IA, B, C, D
  • Lensemble des itemsets S qui satisfont la
    condition sont tous les sous-ensembles de I qui
    contiennent A

53
Caractérisation de contraintes Succinctes
S ? v, ? ? ?, ?, ? v ? S S ?V S ? V S ?
V min(S) ? v min(S) ? v min(S) ? v max(S) ?
v max(S) ? v max(S) ? v count(S) ? v count(S) ?
v count(S) ? v sum(S) ? v sum(S) ? v sum(S) ?
v avg(S) ? v, ? ? ?, ?, ? (contrainte de
fréquence )
oui oui oui oui oui oui oui oui oui oui oui faible
ment faiblement faiblement non non non non non
54
Contrainte Convertible
  • Supposons que tous les items dans les motifs
    soient triés selon lordre O
  • Une contrainte C est convertible anti-monotone
    ssi un motif S satisfait C implique que chaque
    suffixe de S (respectivement à O) satisfait aussi
    C
  • Une contrainte C est convertible monotone ssi un
    motif S satisfait C implique que chaque motif
    dont S est un suffixe (respectivement à O)
    satisfait aussi C

55
Exemple de contraintes Convertibles Avg(S) ? V
  • Soit S lensemble de valeurs (par ordre
    décroissant) 9, 8, 6, 4, 3, 1
  • Avg(S) ? v est monotone convertible
    respectivement à S
  • Si S est un suffixe de S1, avg(S1) ? avg(S)
  • 8, 4, 3 est un suffixe de 9, 8, 4, 3
  • avg(9, 8, 4, 3)6 ? avg(8, 4, 3)5
  • Si S satisfait avg(S) ?v, alors S1 aussi
  • 8, 4, 3 satisfait avg(S) ? 4, ainsi que 9, 8,
    4, 3

56
Résumé
  • Les règles dassociation sont générées en 2
    étapes
  • Les itemsets fréquents sont retournés
  • Les règles en sont induites
  • On distingues les associations selon plusieurs
    critères
  • Booléennes vs. Quantitatives
  • Uni. vs. multi-dimensionnelles
  • Mono. vs. multi-niveaux

57
Résumé (suite)
  • Apriori travaille par niveaux (levelwise)
    correspondants aux tailles des itemsets
  • Générer les candidats (réduction du nombre)
  • Tester les candidats
  • Optimisations (hachage, sampling, réduction de la
    base )
  • FP_trees génère après 2 passes sur la base un
    arbre résumant les données
  • Pas de génération de candidats
  • Pas de tests de fréquence sur la base

58
Résumé (suite)
  • Les règles multi-niveaux peuvent être générées
    selon différentes approches
  • Même vs. Différents supports selon les niveaux
  • Différents types de discrétisation
  • Tenir compte des corrélations pour ne pas prendre
    des décisions hâtives
  • Introduction des contraintes pour lextraction
    des règles.
  • Optimisation selon le type des contraintes.
Write a Comment
User Comments (0)
About PowerShow.com