1
Data Mining: Extraction des règles
Data Mining: Extraction des règles
associatives
associatives
S. BEN YAHIA
S. BEN YAHIA
Novembre 2008 2
Plan Partie 1: La fouille de données séquentielle
1. Introduction aux techniques de Fouille de données
2. La technique d’extraction des Règles Associatives :
1. Dérivation des itemsets fréquents
a) Apriori
b) FP-Growth
2. Les représentations concises exactes
a) Les itemsets fermés fréquents
a) Close
b) Closet
c) Charm
d) Prince
b) Les itemsets non dérivables
c) Les itemsest essentiels
3. Vers des règles plus compactes: les bases génériques
a) Base de Bastide et al.
b) La base Représentative
c) La base informative IGB
4. Conclusion
Novembre 2008 3
Motivation: “Necessity is the Mother of Invention”
Motivation: “Necessity is the Mother of Invention”
 Problème de l’explosion « informationnelle »: très grande de
quantité d’information disponible :
– Outils Automatique de collection des données,
– Technologie des bases de données (relationnelle) mûre (mais
insuffisante!!!).
 On souhaite découvrir une connaissance cachée utile
– Règles associatives
– Régularités
– Patterns
Novembre 2008 4
Applications potentielles
Applications potentielles
 Analyse de marchés
– Marketing ciblé,
– Gestion des relations avec les clients,
– Analyse du panier de la “ménagère”, (Market Basket Analysis)
– Ventes croisées (cross selling),
– segmentation de marchés.
 Gestion et Analyse de risques
– Forecasting, customer retention, improved underwriting, quality control,
competitive analysis.
 Détection de fraudes
 D’autres:
– Text mining (news group, email, documents) et analyse du Web.
– Répnse de requêtes inetlligente
Novembre 2008 5
Analyse
Analyse de marchés
de marchés
 Où trouver les sources pour cette analyse?
– Transactions des cartes de crédit,
– Cartes de fidélités,
– Coupons de rabais
– ...
 marketing Ciblé:
– Trouver des regroupements (clusters) de patrons de clients qui se partagent
des caractéristiques: intérêts, niveau de salaires, habitudes de dépense, etc
 Analyse des ventes croisées
– Associations/co-relations entre la vente de produits
– Prédiction à la base des ces connaissances
Novembre 2008 6
Analyse
Analyse de marchés(2)
de marchés(2)
 Le “profiling” des clients
– Cette connaissance peut indiquer quel catégorie de
produits achète tes produits (clustering ou
classification).
 Identifier et Intercepter les besoins des clients
– Identifier les produits adéquats pour les différents
clients
– Détecter quelles sont les facteurs qui font attirer de
nouveaux clients
Novembre 2008 7
Détection de fraudes
Détection de fraudes
 Applications:
– Très utilisées dans:
– Assurance médicale
– Services des cartes de crédits,
– Telecommunications (fraudes de cartes téléphoniques,
– etc.
 Comment?:
– Utiliser des données historiques pour construire des modèles de
comportement frauduleux et utiliser le Data Mining pour identifier des
instances similaires
 Exemples:
– Blanchiment d’argent (money laundering): détections de transactions
d’argent suspectes (US Treasury's Financial Crimes Enforcement
Network)
Novembre 2008 8
 Détection de traitement médical inapproprié :
– La commission de l’Assurance Maladie Australienne a pu
gagner ($1m australien /année).
 Detection des fraudes téléphoniques:
• Un modèle d’appels téléphoniques:
– destination,
– durée,
– Répétition par jour ou par semaine
– Analyser les instances qui dévient de cette norme attendue
– Exemple: British Telecom a identifié un petit groupe de
fraudeurs (surtout avec les téléphones portables) et a pu sauver
des millions de dollars.
Détection
Détection de fraudes
de fraudes (2)
(2)
Novembre 2008 9
Sur
Sur le net aussi
le net aussi
 Déceler des habitudes de comportement en fonction de
la navigation des utilisateurs sur le serveur. –
– Sur certains serveurs, le nombre de connexions quotidiennes
peut atteindre des volumes très importants.
– Il est alors intéressant pour l'entreprise de pouvoir exploiter
l'information générée (gratuitement), principalement à des fins
commerciales, pour répondre à des questions comme :
• Qui sont mes visiteurs ?
• Quels produits recherchent-ils ?
• Quel chemin parcourent-ils pour y parvenir ?
• Quels mots clés utilisent-ils pour leurs recherches ?
• Quels produits les intéressent ?
Novembre 2008 10
Sur
Sur le net aussi : les applications
le net aussi : les applications
 L'analyse de chemins
– 65% des utilisateurs ont consulté 4 pages ou moins.
– 80% des connexions arrivent sur /societe/produits.
– 75% des clients qui ont accédé à la page /societe/offre-speciale.html
venaient de la page d'accueil.
 La découverte de règles d'associations
– 30% des clients qui ont accédé à la page /societe/offre-speciale.html ont
fait un achat en ligne sur la page /societe/produits/produit1
– 40% des clients qui ont accédé à la page /societe/produits/produit1.html ont
également consulté la page /societe/produits/produit5
 La découverte de séquences temporelles
– 30% des personnes ayant accédé à la page /societe/produits/produit1 ont
fait dans les 2 jours précédents une recherche avec les mots clés m1 et
m2.
– 60% des clients ayant fait un achat en ligne sur la page
/societe/produits/produit1 en ont fait un autre sous 15 jours sur la page
/societe/produits/produit4
 Les règles de classification (clusterisation)
– 45% des clients ayant fait un achat en ligne sur la page
/societe/produits/produit1 sont originaires de la côte Ouest des états unis.
Novembre 2008 11
Data Mining: A l’ntersection de ++ disciplines
Data Mining
Technologie BD Statistiques
Autres disciplines
Science de l’Information
Machine
Learning (AI)
Visualisation
Novembre 2008 12
Extraction des connaissances : Comment et pourquoi ?
Extraction des connaissances : Comment et pourquoi ?
Bases de
Données
Sélection et
préparation des
données
Visualisation et
Interprétation des
résultats
Connaissances
Découvertes :
Règles
Associatives
Processus itératif
Novembre 2008 13
Recherche des Associations
 Règles d’association :
– motifs de la forme : Corps prémisse Tête conclusion
– Exemple : achète(x, “fromage”)  achète(x, “pain”)
Étant donné:
(1) une base de transactions,
(2) chaque transaction est décrite
par un identifiant et une liste
d’items
Trouver: toutes les règles
qui expriment une corrélation
entre la présence d’un
ensemble d’items avec la
présence d’un ensemble
d’items
98% des personnes qui achètent du fromage achètent du pain
Novembre 2008 14
Mesures: Support et Confiance
Trouver les règles X  Z avec un support > s et une confiance >c
– support, s, probabilité qu’une transaction contienne {X, Z}
– confiance, c, probabilité conditionnelle qu’une transaction qui
contient X contienne aussi Z
Clients achetant
fromage
Clients achetant les deux
Clients achetant pain
Confiance=support(X,Z)/support(X)
Novembre 2008 15
Mesures: Support et Confiance … Exemple
A  C (2, 66.6%)
C  A (2, 100%)
Transaction ID Items
2000 A,B,C
1000 A,C
4000 A,D
5000 B,E,F
Min. support =2
Min. confiance =50%
Règle
approximative
Règle
exacte
Novembre 2008 16
Extraction de règles: Exemple
Pour A  C:
support = support({A, C}) = 2
confiance = support({A, C})/support({A}) = 66.6%
Transaction ID Items
2000 A,B,C
1000 A,C
4000 A,D
5000 B,E,F
Min. support =2
Min. confiance =50%
Itemsets fréquents Support
{A} 75%
{B} 50%
{C} 50%
{A,C} 50%
Novembre 2008 17
Les règles associatives : Aspect Formel
 Data mining context (base de données)
 relation binaire R  O  I
 O : ensemble fini d’objets (transactions)
 I : ensemble fini d’items (attributs)
OID Items
1 A C D
2 A B C E
3 B C E
4 B E
5 A B C E
Confiance : proportion d’objets vérifiant l’implication
confiance(r) = support(BCE)/support(BC) = 1
intérêt (fournir une nouvelle information)
Int(X  Y) = support(XY)/support(X) - support(Y)/support(||)
support(BC) = |{2,3,5}|/5 = 3/5
Support d’un itemset (ensemble d’items)
 proportion d’objets contenant l’itemset
Règles associatives
 implications entre itemsets
r : BC  E (confiance %)
Novembre 2008 18
Concepts de base (1/5)
 Définition 1: (Contexte d’extraction)
Un contexte formel (ou contexte d’extraction) est un triplet , décrivant
deux ensembles finis et et une relation (d’incidence) binaire, , entre et
tel que . L’ensemble est habituellement appelé ensemble
d’objets (ou transactions) et est appelé ensemble d’attributs (ou items).
Chaque couple désigne que l’objet possède l’attribut (noté
).
 Définition 2: (Supports d’un itemset)
Les différents supports d’un itemset sont (Casali et al. 2005):
– Supp( I ) =
– Supp( ) =
– Supp( ) =
(O, I, R)
O I R O I
R (O × I)
 O
I
(o,i) R
 o R

i I

oRi
I
I

I

{t O| i , (t, i) R}
I
   
|{o O| ( i , (o, i) R)}|
I
   
|{o O| ( i , (o, i) R)}|
I
   
Novembre 2008 19
Concepts de base (2/5)
 Définition 3: (itemset fréquent)
Un itemset est fréquent si et seulement si (Agrawal et al. 1994):
avec minsup un seuil minimum du support défini par l’utilisateur.
 Lemme 1: Identités d’inclusion-exclusion
Soit un itemset ( ). Alors nous avons (Galambos et al. 2000):
I  I
Supp( ) minsup

I
Supp( ) = O Supp( )
I I
  
' 1
'
'
Supp( ) = ( 1) Supp( ')
I
I I
I
I I




 

' 1
'
'
Supp( ) = ( 1) Supp( ')
I
I I
I
I I




 

I  I
I
(Loi de De Morgan).
Novembre 2008 20
Concepts de base (3/5)
 Exemple 1:
Soit K le contexte d’extraction défini ci-dessous.
Calculons le support de BC.
K
TID Items
1 ABCD
2 CDE
3 ABEF
4 ABCDEF
5 CDF
Supp( BC) .
= 0
  
= |{1
Supp(B ,4}
C) |=2.
= {1,2
Supp( ,3,4,
B 5
C) 5
} .
 
Novembre 2008 21
Concepts de base (4/5)
 Nous pouvons aussi calculer les différents supports de BC en utilisant les identités d’inclusion-exclusion.
K
TID Items
1 ABCD
2 CDE
3 ABEF
4 ABCDEF
5 CDF
Supp(B) Su 3
pp(
= B)=

Supp(C) Su 4
pp(
= C)=

IE
= -Supp(BC) + Supp(B) +
Supp(C) = -2 + 4
Supp(
+ 3
BC)
.
= 5

= -Supp( BC) + Supp( B) +
Supp( C) = -5 +
Supp(BC)
4 + 3 2.
=
 

Novembre 2008 22
Découverte des règles associatives : Comment ?
 Seuils minimaux de support et confiance donnés par l’utilisateur
 MinSup
 MinConf
trouver toutes les règles associatives,
respectant MinSup et MinConf
Objectif :
1. Détermination des itemsets fréquents (support  MinSup)
2.Génération des règles associatives (confiance  MinConf)
Décomposition du problème
Novembre 2008 23
Introduction
Nombre élevé d’itemsets
fréquents
(Apriori)
Nombre accablant de règles
d’association (redondantes)
Panoplies de tentatives de
réduction du nombre d’itemsets
fréquents ainsi que de règles
d’association, tout en essayant
de préserver les plus
intéressantes
Mesures de qualités :
sélection des
itemsets % à métriques
statistiques
(Ohsaki et al., 2004), (Tan et
al., 2002)
Introduction de containtes :
monotone, anti-monotone,
etc, dans
le processus d’extraction des
itemsets fréquents
(Soulet et Crémilleux, 2004),
(Bonchi et Lucchese, 2005)
Représentation concises
Exacte :  Regénérer tous les
itemsets fréquents ainsi que
leurs
supports respectifs
- Itemsets fermés (IFs)
(Pasquier et al., 1998)
- Générateurs minimaux (GMs)
(Bastide et al, 2000) + Bordure
- Itemsets non dérivables
(Calders et Goethals, 2002)
- Essentiels (Casali et al, 2005)
Approximative :
- Itemsets δ-libres (Boulicaut et
al., 2003)
Bases génériques
-Le couple (GB, RI) (Bastide et
al., 2000)
- RNR (Zaki, 2000)
- Le couple (Guigues-
Duquenne, Luxemburger)
(Stumme et al., 2001)
- RR de (Kryszkiewicz, 2002)
-IGB (Gasmi et al., 2005)
24
Apriori (Tester-et-générer)
FP-Growth (diviser-pour-régner)
Approche 1: Découverte des
itemsets fréquents
Novembre 2008 25
 Élagage du treillis d’Inclusion (Itemsets)
Découverte des règles associatives
Exploration itérative par niveau de l’espace de recherche
 Taille exponentielle LI  = 2I 
ID Items
1 A,C,T,W
2 C,D,W
3 A,C,T,W
4 A,C,D,W
5 A,C,D,T,W
6 C,D,T
A Jane Austin
C Agatha Christie
D Sir A. C. Doyle
T Mark Twain
W W. Wodhouse
Novembre 2008 26
Les «challenges»
 Taille exponentielle || LI || = 2 || I ||
: Trouver des heuristiques pour
élaguer l’espace de recherche, de taille exponentielle
 de nature syntaxique (e.g., s’intéresser à un sous-ensemble d’items)
 de nature statistique (e.g., mesures de support et de confiance)
 Exploration itérative par niveau de l’espace de recherche : Génération
d’un important nombre de candidats :
Trouver un schéma de gestion de buffer pour minimiser les
entrées/ sorties disque
 Trouver des solutions pour minimiser l’étape du calcul du
support des itemsets (fait appel à des opérations de test
d’inclusion coûteuses)
Novembre 2008 27
Extraction des associations: 1ère approche
D: une base de transactions
I: ensemble de tous les items avec |I|=n
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équents=Fréquents += J
Fin
Novembre 2008 28
Extraction des associations: 1ère approche
D: une base de transactions
I: ensemble de tous les items avec |I|=n
Algorithme 2: Extraction des règles
Règles = 
Pour chaque J dans Fréquents
Pour chaque règle r: A1,…,Am-1Am  J={A1,…,Am}
Si confiance(r)  min_confiance Alors
Règles= Règles+= r
Fin
Novembre 2008 29
Estimation
Estimation du coût
du coût : les
: les accès disques
accès disques
– Algorithme 1: Pour chaque ensemble d’items J, il faut parcourir la base D
pour compter le nombre de ses occurrences.
– Algorithme 2: On peut supposer que l’ensemble « Fréquents »
réside en mémoire et count(j) est une information déjà calculée par
algorithme 1
Coût global : 2n
parcours de D !!!
|I|=n   2n
ensembles J 2n
parcours de D !!!
1
2 pas d’accès
Novembre 2008 30
Extraction
Extraction des associations: Apriori
des associations: Apriori ( Agrawal et al 94)
( Agrawal et al 94)
Principe : Si un ensemble est non fréquent, alors tous ses sur-
ensembles (superset) ne sont pas fréquents, i.e.,
• si {AB} est fréquent alors {A} et{B} le sont
• Si {A} n’est pas fréquent alors {AB} ne peut pas l’être
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 d’association
Novembre 2008 31
L’algorithme Apriori
Étape de jointure: Ck est généré en joignant Fk-1avec lui même
Étape d’élimination: Chaque (k-1)-itemset qui n’est pas fréquent ne peut être
un sous ensemble d’un k-itemset fréquent
Pseudo-code:
Ck: Itemset candidat de taille k
Fk : itemset fréquent de taille k
F1 = {items fréquents};
for (k = 1; Fk <>; k++) do begin
Ck+1 = candidats générés à partir de Fk % jointure
for each transaction t dans la base do
incrémenter le COUNT des candidats de Ck+1 qui
sont dans t
Fk+1 = candidats dans Ck+1 dont COUNT > support_min
end
return k Fk;
Novembre 2008 32
Génération des Candidats
Les items de Fk-1 sont triés (ordre lexicographique)
1/2
Insert into Ck
select p.item1, p.item2, …, p.itemk-1, q.itemk-1
from Lk-1 p, Lk-1 q
where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1
< q.itemk-1
Self-join de Fk-1
Novembre 2008 33
Génération des Candidats: l’élagage
2/2
Pour chaque itemset c dans Ck Faire
Pour chaque (k-1)-sous-ensemble s de c
Faire
Si (s n’est pas dans Fk-1) Alors
supprimer c de Ck
Elagage de Ck
Novembre 2008 34
Génération de Candidats: Exemple
 C4={abcd}
abc abd acd ace bcd
F3={ }
Self-join: F3*F3
abcd acde
Élagage :
ade  F3
Novembre 2008 35
Exemple: l’algorithme Apriori
Scan 1 Scan 2 Scan 3 Scan 4
Novembre 2008 36
Génération des règles associatives : Exemple
Exemple : minsup = 3/6 et minconf = 1/2
Itemset Support
BCE 4/6
Règle Confiance
BCE 4/4
BEC 4/5
CEB 4/4 Règle Confiance
BCE 4/5
EBC 4/5
CBE 4/5
F3
F2
F1
Les règles sont générées à partir des itemsets fréquents
et leurs supports (temps négligeables)
Novembre 2008 37
Génération des règles associatives : Formellement
On considère les k-itemsets fréquents par taille décroissante
– Pour chaque k-itemsets fréquents f, on examine tous (k-1)-sous-
ensembles, puis ses (k-2)-sous-ensembles, etc.
Astuce (à prouver) :
– On calcule la confiance de la règle X (Y-X) (i.e., X Y)
– Si elle n’est pas valide alors les règles de la forme :
X’(Y-X’) pour X’ X ne peuvent pas être valides non plus
Novembre 2008 38
Exercice
ID Items
1 A,C,T,W
2 C,D,W
3 A,C,T,W
4 A,C,D,W
5 A,C,D,T,W
6 C,D,T
Soit la base de transactions suivante. Pour minsup= 2 et minconf= 80%:
1. Appliquer l’ algorithme Apriori pour extraire les itemsets fréquents
2. Extraire les règles associatives
Novembre 2008 39
Réduction du nombre des règles
Règles associatives nombreuses et redondantes…
Une règle est dite redondante si elle n’et pas porteuse de connaissances
supplémentaires par rapport à l’ensemble des règles résultats.
Complexité importante :  IK  2 k
-2 règles possibles
Les règles 1-3 et 5-9
sont redondantes %
à la règle 4
Règles d’association : support 100, confiance 54 %
1. lamelles libres  comestible
2. lamelles libres  comestible, voile partiel
3. lamelles libres  comestible, voile blanc
4. lamelles libres  comestible, voile partiel, voile blanc
5. lamelles libres, voile partiel  comestible
6. lamelles libres, voile partiel  comestible, voile blanc
7. lamelles libres, voile blanc  comestible
8. lamelles libres, voile blanc  comestible, voile partiel
9. lamelles libres, voile partiel, voile blanc  comestible
Novembre 2008 40
Les règles associatives en chiffres
Jeu de données minsup Règles exactes
T10I4D100K 0,5 % 0
Mushrooms 30 % 7 476
C73D10K 90 % 52 035
Jeu de données minsup minconf Règles approx.
T10I4D100K 0,5 % 70 % 20 419
50 % 21 686
Mushrooms 30 % 70 % 37 671
50 % 56 703
C73D10K 90 % 95 % 1 606 726
85 % 2 053 936
41
Les représentations concises
exactes
Itemsets fermés fréquents
Itemsets Non-dérivables
Itemsets essentiels
42
Les représentations concises
exactes
Itemsets fermés fréquents
Itemsets Non-dérivables
Itemsets essentiels
Novembre 2008 43
Contextes Formels et Correspondances de Galois
Contextes Formels et Correspondances de Galois
1 2 3
X
X
X
X
X
X
X
a
b
c
d
4 5 6
X
X
X
X
X
X
X
X
X
7
X
X
X
8
X
X
X
I
O
corresp.
de Galois Y  f(X) ssi X  g(Y)
opérateurs
fermeture
X'' = g º f(X)
Y'' = f º g(Y)
K= (O, I, R)
I
O
g(Y) = {x  O   y  Y, (x, y)  R} = Y'
g
Y2' Y1
Y2
Y1'
X3 Y3
f = g-1
ens. fermés X = X'', Y = Y''
{5, 6}'' = {5, 6}
{a, d}'' = {a, d}
{b, d}'' = {a, b, d}
{5, 7}' = {a, d} {b, d}' = {5, 6}
f(X) = {y  I   x  X, (x, y)  R } = X'
f
X2'
X1
X2 X1'
Novembre 2008 44
Treillis de Concepts Formels (de Galois)
Treillis de Concepts Formels (de Galois)
concept formel (X,Y)
X  Co
(K) (extent), X = Y';
Y  Ci
(K) (intent), Y = X'.
ordre partiel
(X1, Y1)  (X2, Y2) ssi X1  X2
( Y2  Y1)
(sous-concept de)
Li
(K)
Lo
(K)
Familles de ss-ens. fermés
Co
(K) = { X | X  O, X'' = X}
Ci
(K) = { Y | Y  I, Y'' = Y }
(anti-)isomorphisme de treillis
Lo
= (Co
(K), )  Li
= (Ci
(K), )
avec f et g comme co-bijections
g
f
(6,abcd)
(56,abd)
(678,acd)
(36,abc)
(12356,ab)
(34678,ac)
(5678,ad)
(12345678,a)
L(K)
Novembre 2008 45
Extraction de bases pour les règles d’association
Base pour les règles d’association exactes : implication intra-nœud
(entre les générateurs minimaux et le sommet de la classe)
(;5)
(C;4) (BE;4)
(AC;3) (BCE;3)
(ABCE;2)
{C} {B}, {E}
{A} {BC}
{AB}, {AE}
,{CE}
BC E et CE  B
AB CE
ABC E
ABE C
AB E
AB C
Novembre 2008 46
Extraction de bases pour les règles d’association
Base pour les règles d’association approximattives : implication
inter-nœud (entre deux classes d’équivalences comparables)
(;5)
(C;4) (BE;4)
(AC;3) (BCE;3)
(ABCE;2)
{C} {B}, {E}
{A} {BC}
{AB}
,{CE}
B  CE et E  BC
B  ACE et E ABC
Novembre 2008 47
Des chiffres … qui parlent !!
Jeu de données minsup Règles exactes Base exacte
T10I4D100K 0,5 % 0 0
Mushrooms 30 % 7 476 543
C73D10K 90 % 52 035 1 369
Jeu de données minsup minconf Règles approx. Base approx.
T10I4D100K 0,5 % 70 % 20 419 4 004
50 % 21 686 4 191
Mushrooms 30 % 70 % 37 671 1 221
50 %
56 703 1 481
C73D10K 90 % 95 % 1 606 726 5 680
85 % 2 053 936 5 718
48
Les algorithmes
Close (Pasquier et al, 1998)
 A-Close (Pasquier et al, 1999)
 Closet (Han et al, 2000)
 Charm (Zaki et al, 2000)
Titanic (Stumme et al, 2002)
Novembre 2008 49
Classifcation des algorithmes
•La technique « Tester-et-générer » : les algo. parcourent l’espace de
recherche par niveau. A chaque niveau k, un ensemble de candidats de taille k
est généré. Cet ensemble de candidats est élagué par la conjonction d’une
métrique statistique (e.g. le support) et des heuristiques basées essentiellement
sur les propriétés structurelles des itemsets fermés.
•La technique « Diviser-pour-régner » : les algo. essaient de diviser le contexte
d’extraction en des sous-contextes et d’appliquer le processus de découverte des
itemsets fermés récursivement sur ces sous-contextes. Ce processus de
découverte repose sur un élagage du contexte basé essentiellement sur
l’imposition d’une métrique statistique et d’heuristiques introduites.
• La technique « hybride » : les algo. Algorithms utilisent les propriétés des
deux techniques:
•Exploration de l’espace de recherche en profondeur d’abord (technique 2
mais sans subdivision);
•Génération de candidats (technique 1 mais 1 seul candidat à la fois) et
teste s’il est fermé.
Novembre 2008 50
1ère technique: Algorithme générique
Entrée: K :Contexte d’Extraction, minsup
Sortie: Ensemble des itemsets fermés fréquents
1: Initialiser l’ensemble de candidats de taille 1
2: tant que ensemble de candidats non vide faire
3: Étape d’élagage (ou de test)
1) Calculer le support des candidats
2) Élaguer l’ensemble de candidats par rapport à minsup
3) (Éventuellement) calculer les fermetures des candidats retenus
4: Étape de construction
1) Construire l’ensemble de candidats à utiliser lors de l’itération suivante
2) Élaguer cet ensemble en utilisant les propriétés structurelles des
itemsets
fermés et/ou des générateurs minimaux.
5: fin tant que
6: retourner Ensemble des itemsets fermés fréquents
Novembre 2008 51
L’Algorithme Close
Entrées : K, MinSup et MinConf
Sortie : ERI (Ensemble des règles intéressantes)
Algorithme Close
1. Découvrir tous les itemsets fermés fréquents
3. Génération de règles associatives intéressantes
2. Dériver tous les itemsets fréquents
Novembre 2008 52
Close : Exemple
ID Items
1 A,C,D
2 B,C,E
3 A,B,C,E
4 B,E
5 A,B,C,E
Itemset Support Fermeture
A 3 A,C
B 4 B,E
C 4 C
D 1 !!!
E 4 B,E
Itemset Support Fermeture
A 3 A,C
B 4 B,E
C 4 C
E 4 B,E
Elagage
Min. support =2
Novembre 2008 53
 6 combinaisons possibles
Exemple (suite)
Itemset
A
B
C
E
Itemset
A
B
C
E
Itemset
A
B
C
E
CE
BE
BC
AE
AC
AB
Itemsets candidats
Novembre 2008 54
Exemple (suite)
 Seulement 4 combinaisons à développer
Enlève AC , puisque AC f g( A )
Enlève BE , puisque BE f g( B )
Heuristique
CE
BE
BC
AE
AC
AB
Itemsets candidats
CE
BC
AE
AB
Itemsets candidats
Novembre 2008 55
Exemple (suite)
Fermeture Support
A,C 3
B,E 4
C 4
A,B,C,E 2
B,C,E 3
Arrêt Sortie
Itemset Support Fermeture
AB 2 A,B,C,E
AE 2 A,B,C,E
BC 3 B,C,E
CE 3 B,C,E
Novembre 2008 56
Exercice
ID Items
1 A,C,T,W
2 C,D,W
3 A,C,T,W
4 A,C,D,W
5 A,C,D,T,W
6 C,D,T
Soit la base de transactions suivante. Pour minsup= 2 et minconf= 80%:
1. Appliquer l’algorithme Close pour extraire les itemsets fermés fréquents
2. Extraire les itemsets fréquents à partir de ceux fermés
3. Extraire les bases génériques de règles associatives
4. Déduire toutes les règles associatives
Novembre 2008 57
Prince
Première étape :
– Inspirée de Titanic.
– Trouver GMFK et GBd-.
Exemple : Soit le contexte K pour minsup = 2 et minconf =
0,5.
A B C D E
1 x x x
2 x x x
3 x x x x
4 x x
5 x x x x
GMF
GMFK
K = {(,5),(B,4),(C,4), (E,4), (A,3),
(BC,3),(CE,3), (AB,2), (AE,2)}
GBd-
GBd- = {(D,1)}
= {(D,1)}
trié par ordre décroissant du support
Novembre 2008 58
Prince
 Deuxième étape :
– Ordonner partiellement les éléments de GMFK! et sans aucun accès au
contexte!
– Isotonie de l’opérateur de fermeture.
• Soit x  GMFK tel que |x|=k. Si y  x alors h(y)  h(x).  En
particulier si |y|=k-1.
– Comparaisons entre générateurs minimaux fréquents.
• Soient x, y  GMFK ,
– Si supp(x)=supp(y) = supp(xUy) alors Cx ≡ Cy.
– Si supp(x) <supp(y) et supp(x) = supp(xUy) alors Cx est un successeur de
Cy.
– Sinon Cx et Cy sont incomparables.
Novembre 2008 59
Prince
Exemple (suite) :
GBd- = {(D,1)}
, , , , , , , ,
(,5) (B,4) (C,4) (E,4) (A,3) (BC,3) (CE,3) (AB,2)
(AE,2)
GMF
GMFK
K = {
}
(B,4), (E,4)
Novembre 2008 60
Prince
Exemple (suite) :
(,5)
(C,4)
(A,3) (BC,3),(CE,3)
(AB,2), (AE,2)
Treillis des générateurs minimaux
(B,4), (E,4)
Novembre 2008 61
Prince
Troisième étape :
– Retrouver IFFK
• Soient f, f1  IFFK tq Cf est un successeur immédiat de Cf1
.
f = f1 U GMf.
 Calcul non redondant de IFFK.
– Extraire les BGRs
• Règles exactes : d’une manière directe.
• Règles approximatives : nous avons l’ordre!
Novembre 2008 62
Prince
Exemple (suite) : minconf = 0,5.
(,5)
(C,4)
(A,3) (BC,3),(CE,3)
(AB,2), (AE,2)
Treillis des générateurs minimaux
(B,4), (E,4)
(,5)
(BE,4)
B  E (4)
E  B (4)
0,8
  BE (4)
Détermination
ascendante
de IFFK et des
BGRs
(C,4)
0,8
  C (4)
(AC,3)
(ABCE,2)
(BCE,3)
Treillis d’Iceberg de Galois + Les BGRs
…….
…….
…….
63
Les algorithmes
Close (Pasquier et al, 1998)
 A-Close (Pasquier et al, 1999)
 Closet (Han et al, 2000)
 Charm (Zaki et al, 2000)
Titanic (Stumme et al, 2002)
Novembre 2008 64
Exploration sans génération de candidats (Han et al 2002)
 Compresser la base, Frequent-Pattern tree (FP-tree)
 Une représentation condensée
 Évite les balayages (scans) coûteux de la base
 Développer une méthode efficace pour l’exploration basée sur
une approche originale:
 diviser-pour-régner: décompose le problèmes en sous-problèmes
 Pas de génération de candidats : test de la “sous-base”
seulement !!
Novembre 2008 65
Construction de la structure condensée: FP-Tree
ID Items
1 A,C,D
2 B,C,E
3 A,B,C,E
4 B,E
5 A,B,C,E
1. On construit la liste « triée »: L = [B:4, C:4, E:4, A:3]
2. On parcourt une 2ème fois la base. On lit les transactions selon l’ordre des items
dans L
Min. support =2
ID Items
1 C,A
2 B,C,E
3 B,C,E,A
4 B,E
5 B,C,E,A
Novembre 2008 66
Construction de la structure condensée: FP-Tree
La lecture de T1 donne
Null
C:1
A:1
0 B
1 C
0 E
1 A
ID Items
1 C,A
2 B,C,E
3 B,C,E,A
4 B,E
5 B,C,E,A
Novembre 2008 67
FP-Trees: Exemple
La lecture de T2
Null
C:1
A:1
1 B
2 C
1 E
1 A
C:1
B:1
E:1
ID Items
1 C,A
2 B,C,E
3 B,C,E,A
4 B,E
5 B,C,E,A
Novembre 2008 68
FP-Trees: Exemple
La lecture de T3
Null
C:1
A:1
2 B
3 C
2 E
2 A
C:2
B:2
E:2
A:1
ID Items
1 C,A
2 B,C,E
3 B,C,E,A
4 B,E
5 B,C,E,A
Novembre 2008 69
Closet: Exemple
Freq1 :{B;4,C ;4 ;E;4,A;3}
1-itesmet fréquents
C A
B C E
B C E A
B E
B C E A
Base de transactions
ordonnée
BD Conditionnelle ‘A’
C
B C E
B C E
Output : {CA;3}
C E
C E
BD Conditionnelle
‘BA’
Output :
{BCEA;2}
BC
B C
B
B C
Output : {BE ;4}
BD Conditionnelle ‘E’
B
B
B
BD Conditionnelle EC
Output :
{BCE;3}
BD Conditionnelle ‘C’
B
B
B
Output :
{C;4}
Output :
{BCEA;2}
B C
B C
BD Conditionnelle ‘EA’
Novembre 2008 70
Exercice
ID Items
1 A,C,T,W
2 C,D,W
3 A,C,T,W
4 A,C,D,W
5 A,C,D,T,W
6 C,D,T
Soit la base de transactions suivante. Pour minsup= 2 et minconf= 80%:
1. Construire le FP-tree associé
2. Appliquer l’algorithme Closet pour extraire les itemsets fermés fréquents
3. Extraire les itemsets fréquents à partir de ceux fermés
4. Extraire les bases génériques de règles associatives
5. Déduire toutes les règles associatives
71
Les algorithmes
Close (Pasquier et al, 1998)
 A-Close (Pasquier et al, 1999)
 Closet (Han et al, 2000)
 Charm (Zaki et al, 2000)
Titanic (Stumme et al, 2002)
Novembre 2008 72
ChARM (1)
 ChARM : abbréviation de Closed Association Rule Mining (le ’h’
est gratuit).
 Un algorithme hybride :
– Parcours l’espace de recherche en profondeur d’abord en
considérant 1 par 1 les items fréquents
• « Diviser-et-régner »
– En générant 1 seul candidat à la fois
• « Tester-et-générer »
Novembre 2008 73
ChARM (2)
Caractéristiques
– Explore à la fois de l’espace des itemsets et celui
des transactions.
– Construit un arbre appelé IT-Tree (Itemset-Tidset
Tree) : nœud  (candidat IFF A, extension de A)
– Fondé sur la comparaison des extensions de
chaque deux candidats A et B ayant même parents
dans IT-Tree
 4 cas sont à distinguer
Novembre 2008 74
ChARM (3)
1er
cas : f(A)=f(B) alors fog(A)=fog(B)=fog(A U B)
 A et B ne sont pas des fermés.
 A est remplacé par A U B dans IT-Tree.
 B est éliminé de IT-Tree.
2ème
cas : f(A)f(B) alors fog(A)≠fog(B) et
fog(A)=fog(A U B)
 Toute occurrence de A dans IT-Tree est
remplacée par A U B.
Novembre 2008 75
ChARM (4)
3ème
cas : f(A)f(B) alors fog(A)≠fog(B) et
fog(B)=fog(A U B)
 B est éliminé de IT-Tree.
 A U B est ajouté comme fils de A dans IT-Tree.
4ème
cas : f(A) ≠f(B) alors fog(A)≠fog(B) ≠fog(A
U B)
 A U B est ajouté comme fils de A dans IT-Tree ssi
|fog(A U B)| ≥ minsup.
Novembre 2008 76
ChARM (5)
Stratégies d’élagage?
– Métrique statistique : minsup
– Test de couverture : un candidat p n’est considéré
un IFF que si p n’est pas inclus dans aucun IFF
déjà trouvé et ayant même support.
Novembre 2008 77
ChARM (6)
Exemple : Soit le contexte K pour minsup = 2.
root
(A,135) (B,2345) (C,1235) (E,2345)
IT-Tree initial
(D,1)
A B C D E
1 x x x
2 x x x
3 x x x x
4 x x
5 x x x x
Novembre 2008 78
root
(A,135) (B,2345) (C,1235) (E,2345)
(AB,35)
cas 4
IFF ={}
cas 2
(AC, 135)
(ABC, 35)
cas 3
(ACE,35)
cas 1
(ABCE, 35)
IFF ={(ABCE,35)}
AC n’est pas couvert
IFF ={(ABCE,35),(AC,135)}
cas 4
(BC,235)
(BE,2345)
(BCE,235)
cas 1
BCE n’est pas couvert
IFF ={(ABCE,35),(AC,135),(BCE,235)}
BE n’est pas couvert
IFF ={(ABCE,35),(AC,135),(BCE,235),(BE,2345)}
C n’est pas couvert
IFF ={(ABCE,35),(AC,135),(BCE,235),(BE,2345),(C,1235)}
Suite exemple
Novembre 2008 79
ChARM (7)
Amélioration de ChARM
– Structure de données : Diffset.
– D’autres algorithmes : LCM, DCI-Closed.
Principales lacunes
– Coût des intersections pour tester les 4 cas.
– Gourmant en espace mémoire.

DM_0809-P1rkllllklhulkjèuljulkjulkjlèjkluèl.ppt

  • 1.
    1 Data Mining: Extractiondes règles Data Mining: Extraction des règles associatives associatives S. BEN YAHIA S. BEN YAHIA
  • 2.
    Novembre 2008 2 PlanPartie 1: La fouille de données séquentielle 1. Introduction aux techniques de Fouille de données 2. La technique d’extraction des Règles Associatives : 1. Dérivation des itemsets fréquents a) Apriori b) FP-Growth 2. Les représentations concises exactes a) Les itemsets fermés fréquents a) Close b) Closet c) Charm d) Prince b) Les itemsets non dérivables c) Les itemsest essentiels 3. Vers des règles plus compactes: les bases génériques a) Base de Bastide et al. b) La base Représentative c) La base informative IGB 4. Conclusion
  • 3.
    Novembre 2008 3 Motivation:“Necessity is the Mother of Invention” Motivation: “Necessity is the Mother of Invention”  Problème de l’explosion « informationnelle »: très grande de quantité d’information disponible : – Outils Automatique de collection des données, – Technologie des bases de données (relationnelle) mûre (mais insuffisante!!!).  On souhaite découvrir une connaissance cachée utile – Règles associatives – Régularités – Patterns
  • 4.
    Novembre 2008 4 Applicationspotentielles Applications potentielles  Analyse de marchés – Marketing ciblé, – Gestion des relations avec les clients, – Analyse du panier de la “ménagère”, (Market Basket Analysis) – Ventes croisées (cross selling), – segmentation de marchés.  Gestion et Analyse de risques – Forecasting, customer retention, improved underwriting, quality control, competitive analysis.  Détection de fraudes  D’autres: – Text mining (news group, email, documents) et analyse du Web. – Répnse de requêtes inetlligente
  • 5.
    Novembre 2008 5 Analyse Analysede marchés de marchés  Où trouver les sources pour cette analyse? – Transactions des cartes de crédit, – Cartes de fidélités, – Coupons de rabais – ...  marketing Ciblé: – Trouver des regroupements (clusters) de patrons de clients qui se partagent des caractéristiques: intérêts, niveau de salaires, habitudes de dépense, etc  Analyse des ventes croisées – Associations/co-relations entre la vente de produits – Prédiction à la base des ces connaissances
  • 6.
    Novembre 2008 6 Analyse Analysede marchés(2) de marchés(2)  Le “profiling” des clients – Cette connaissance peut indiquer quel catégorie de produits achète tes produits (clustering ou classification).  Identifier et Intercepter les besoins des clients – Identifier les produits adéquats pour les différents clients – Détecter quelles sont les facteurs qui font attirer de nouveaux clients
  • 7.
    Novembre 2008 7 Détectionde fraudes Détection de fraudes  Applications: – Très utilisées dans: – Assurance médicale – Services des cartes de crédits, – Telecommunications (fraudes de cartes téléphoniques, – etc.  Comment?: – Utiliser des données historiques pour construire des modèles de comportement frauduleux et utiliser le Data Mining pour identifier des instances similaires  Exemples: – Blanchiment d’argent (money laundering): détections de transactions d’argent suspectes (US Treasury's Financial Crimes Enforcement Network)
  • 8.
    Novembre 2008 8 Détection de traitement médical inapproprié : – La commission de l’Assurance Maladie Australienne a pu gagner ($1m australien /année).  Detection des fraudes téléphoniques: • Un modèle d’appels téléphoniques: – destination, – durée, – Répétition par jour ou par semaine – Analyser les instances qui dévient de cette norme attendue – Exemple: British Telecom a identifié un petit groupe de fraudeurs (surtout avec les téléphones portables) et a pu sauver des millions de dollars. Détection Détection de fraudes de fraudes (2) (2)
  • 9.
    Novembre 2008 9 Sur Surle net aussi le net aussi  Déceler des habitudes de comportement en fonction de la navigation des utilisateurs sur le serveur. – – Sur certains serveurs, le nombre de connexions quotidiennes peut atteindre des volumes très importants. – Il est alors intéressant pour l'entreprise de pouvoir exploiter l'information générée (gratuitement), principalement à des fins commerciales, pour répondre à des questions comme : • Qui sont mes visiteurs ? • Quels produits recherchent-ils ? • Quel chemin parcourent-ils pour y parvenir ? • Quels mots clés utilisent-ils pour leurs recherches ? • Quels produits les intéressent ?
  • 10.
    Novembre 2008 10 Sur Surle net aussi : les applications le net aussi : les applications  L'analyse de chemins – 65% des utilisateurs ont consulté 4 pages ou moins. – 80% des connexions arrivent sur /societe/produits. – 75% des clients qui ont accédé à la page /societe/offre-speciale.html venaient de la page d'accueil.  La découverte de règles d'associations – 30% des clients qui ont accédé à la page /societe/offre-speciale.html ont fait un achat en ligne sur la page /societe/produits/produit1 – 40% des clients qui ont accédé à la page /societe/produits/produit1.html ont également consulté la page /societe/produits/produit5  La découverte de séquences temporelles – 30% des personnes ayant accédé à la page /societe/produits/produit1 ont fait dans les 2 jours précédents une recherche avec les mots clés m1 et m2. – 60% des clients ayant fait un achat en ligne sur la page /societe/produits/produit1 en ont fait un autre sous 15 jours sur la page /societe/produits/produit4  Les règles de classification (clusterisation) – 45% des clients ayant fait un achat en ligne sur la page /societe/produits/produit1 sont originaires de la côte Ouest des états unis.
  • 11.
    Novembre 2008 11 DataMining: A l’ntersection de ++ disciplines Data Mining Technologie BD Statistiques Autres disciplines Science de l’Information Machine Learning (AI) Visualisation
  • 12.
    Novembre 2008 12 Extractiondes connaissances : Comment et pourquoi ? Extraction des connaissances : Comment et pourquoi ? Bases de Données Sélection et préparation des données Visualisation et Interprétation des résultats Connaissances Découvertes : Règles Associatives Processus itératif
  • 13.
    Novembre 2008 13 Recherchedes Associations  Règles d’association : – motifs de la forme : Corps prémisse Tête conclusion – Exemple : achète(x, “fromage”)  achète(x, “pain”) Étant donné: (1) une base de transactions, (2) chaque transaction est décrite par un identifiant et une liste d’items Trouver: toutes les règles qui expriment une corrélation entre la présence d’un ensemble d’items avec la présence d’un ensemble d’items 98% des personnes qui achètent du fromage achètent du pain
  • 14.
    Novembre 2008 14 Mesures:Support et Confiance Trouver les règles X  Z avec un support > s et une confiance >c – support, s, probabilité qu’une transaction contienne {X, Z} – confiance, c, probabilité conditionnelle qu’une transaction qui contient X contienne aussi Z Clients achetant fromage Clients achetant les deux Clients achetant pain Confiance=support(X,Z)/support(X)
  • 15.
    Novembre 2008 15 Mesures:Support et Confiance … Exemple A  C (2, 66.6%) C  A (2, 100%) Transaction ID Items 2000 A,B,C 1000 A,C 4000 A,D 5000 B,E,F Min. support =2 Min. confiance =50% Règle approximative Règle exacte
  • 16.
    Novembre 2008 16 Extractionde règles: Exemple Pour A  C: support = support({A, C}) = 2 confiance = support({A, C})/support({A}) = 66.6% Transaction ID Items 2000 A,B,C 1000 A,C 4000 A,D 5000 B,E,F Min. support =2 Min. confiance =50% Itemsets fréquents Support {A} 75% {B} 50% {C} 50% {A,C} 50%
  • 17.
    Novembre 2008 17 Lesrègles associatives : Aspect Formel  Data mining context (base de données)  relation binaire R  O  I  O : ensemble fini d’objets (transactions)  I : ensemble fini d’items (attributs) OID Items 1 A C D 2 A B C E 3 B C E 4 B E 5 A B C E Confiance : proportion d’objets vérifiant l’implication confiance(r) = support(BCE)/support(BC) = 1 intérêt (fournir une nouvelle information) Int(X  Y) = support(XY)/support(X) - support(Y)/support(||) support(BC) = |{2,3,5}|/5 = 3/5 Support d’un itemset (ensemble d’items)  proportion d’objets contenant l’itemset Règles associatives  implications entre itemsets r : BC  E (confiance %)
  • 18.
    Novembre 2008 18 Conceptsde base (1/5)  Définition 1: (Contexte d’extraction) Un contexte formel (ou contexte d’extraction) est un triplet , décrivant deux ensembles finis et et une relation (d’incidence) binaire, , entre et tel que . L’ensemble est habituellement appelé ensemble d’objets (ou transactions) et est appelé ensemble d’attributs (ou items). Chaque couple désigne que l’objet possède l’attribut (noté ).  Définition 2: (Supports d’un itemset) Les différents supports d’un itemset sont (Casali et al. 2005): – Supp( I ) = – Supp( ) = – Supp( ) = (O, I, R) O I R O I R (O × I)  O I (o,i) R  o R  i I  oRi I I  I  {t O| i , (t, i) R} I     |{o O| ( i , (o, i) R)}| I     |{o O| ( i , (o, i) R)}| I    
  • 19.
    Novembre 2008 19 Conceptsde base (2/5)  Définition 3: (itemset fréquent) Un itemset est fréquent si et seulement si (Agrawal et al. 1994): avec minsup un seuil minimum du support défini par l’utilisateur.  Lemme 1: Identités d’inclusion-exclusion Soit un itemset ( ). Alors nous avons (Galambos et al. 2000): I  I Supp( ) minsup  I Supp( ) = O Supp( ) I I    ' 1 ' ' Supp( ) = ( 1) Supp( ') I I I I I I        ' 1 ' ' Supp( ) = ( 1) Supp( ') I I I I I I        I  I I (Loi de De Morgan).
  • 20.
    Novembre 2008 20 Conceptsde base (3/5)  Exemple 1: Soit K le contexte d’extraction défini ci-dessous. Calculons le support de BC. K TID Items 1 ABCD 2 CDE 3 ABEF 4 ABCDEF 5 CDF Supp( BC) . = 0    = |{1 Supp(B ,4} C) |=2. = {1,2 Supp( ,3,4, B 5 C) 5 } .  
  • 21.
    Novembre 2008 21 Conceptsde base (4/5)  Nous pouvons aussi calculer les différents supports de BC en utilisant les identités d’inclusion-exclusion. K TID Items 1 ABCD 2 CDE 3 ABEF 4 ABCDEF 5 CDF Supp(B) Su 3 pp( = B)=  Supp(C) Su 4 pp( = C)=  IE = -Supp(BC) + Supp(B) + Supp(C) = -2 + 4 Supp( + 3 BC) . = 5  = -Supp( BC) + Supp( B) + Supp( C) = -5 + Supp(BC) 4 + 3 2. =   
  • 22.
    Novembre 2008 22 Découvertedes règles associatives : Comment ?  Seuils minimaux de support et confiance donnés par l’utilisateur  MinSup  MinConf trouver toutes les règles associatives, respectant MinSup et MinConf Objectif : 1. Détermination des itemsets fréquents (support  MinSup) 2.Génération des règles associatives (confiance  MinConf) Décomposition du problème
  • 23.
    Novembre 2008 23 Introduction Nombreélevé d’itemsets fréquents (Apriori) Nombre accablant de règles d’association (redondantes) Panoplies de tentatives de réduction du nombre d’itemsets fréquents ainsi que de règles d’association, tout en essayant de préserver les plus intéressantes Mesures de qualités : sélection des itemsets % à métriques statistiques (Ohsaki et al., 2004), (Tan et al., 2002) Introduction de containtes : monotone, anti-monotone, etc, dans le processus d’extraction des itemsets fréquents (Soulet et Crémilleux, 2004), (Bonchi et Lucchese, 2005) Représentation concises Exacte :  Regénérer tous les itemsets fréquents ainsi que leurs supports respectifs - Itemsets fermés (IFs) (Pasquier et al., 1998) - Générateurs minimaux (GMs) (Bastide et al, 2000) + Bordure - Itemsets non dérivables (Calders et Goethals, 2002) - Essentiels (Casali et al, 2005) Approximative : - Itemsets δ-libres (Boulicaut et al., 2003) Bases génériques -Le couple (GB, RI) (Bastide et al., 2000) - RNR (Zaki, 2000) - Le couple (Guigues- Duquenne, Luxemburger) (Stumme et al., 2001) - RR de (Kryszkiewicz, 2002) -IGB (Gasmi et al., 2005)
  • 24.
  • 25.
    Novembre 2008 25 Élagage du treillis d’Inclusion (Itemsets) Découverte des règles associatives Exploration itérative par niveau de l’espace de recherche  Taille exponentielle LI  = 2I  ID Items 1 A,C,T,W 2 C,D,W 3 A,C,T,W 4 A,C,D,W 5 A,C,D,T,W 6 C,D,T A Jane Austin C Agatha Christie D Sir A. C. Doyle T Mark Twain W W. Wodhouse
  • 26.
    Novembre 2008 26 Les«challenges»  Taille exponentielle || LI || = 2 || I || : Trouver des heuristiques pour élaguer l’espace de recherche, de taille exponentielle  de nature syntaxique (e.g., s’intéresser à un sous-ensemble d’items)  de nature statistique (e.g., mesures de support et de confiance)  Exploration itérative par niveau de l’espace de recherche : Génération d’un important nombre de candidats : Trouver un schéma de gestion de buffer pour minimiser les entrées/ sorties disque  Trouver des solutions pour minimiser l’étape du calcul du support des itemsets (fait appel à des opérations de test d’inclusion coûteuses)
  • 27.
    Novembre 2008 27 Extractiondes associations: 1ère approche D: une base de transactions I: ensemble de tous les items avec |I|=n 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équents=Fréquents += J Fin
  • 28.
    Novembre 2008 28 Extractiondes associations: 1ère approche D: une base de transactions I: ensemble de tous les items avec |I|=n Algorithme 2: Extraction des règles Règles =  Pour chaque J dans Fréquents Pour chaque règle r: A1,…,Am-1Am J={A1,…,Am} Si confiance(r)  min_confiance Alors Règles= Règles+= r Fin
  • 29.
    Novembre 2008 29 Estimation Estimationdu coût du coût : les : les accès disques accès disques – Algorithme 1: Pour chaque ensemble d’items J, il faut parcourir la base D pour compter le nombre de ses occurrences. – Algorithme 2: On peut supposer que l’ensemble « Fréquents » réside en mémoire et count(j) est une information déjà calculée par algorithme 1 Coût global : 2n parcours de D !!! |I|=n   2n ensembles J 2n parcours de D !!! 1 2 pas d’accès
  • 30.
    Novembre 2008 30 Extraction Extractiondes associations: Apriori des associations: Apriori ( Agrawal et al 94) ( Agrawal et al 94) Principe : Si un ensemble est non fréquent, alors tous ses sur- ensembles (superset) ne sont pas fréquents, i.e., • si {AB} est fréquent alors {A} et{B} le sont • Si {A} n’est pas fréquent alors {AB} ne peut pas l’être 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 d’association
  • 31.
    Novembre 2008 31 L’algorithmeApriori Étape de jointure: Ck est généré en joignant Fk-1avec lui même Étape d’élimination: Chaque (k-1)-itemset qui n’est pas fréquent ne peut être un sous ensemble d’un k-itemset fréquent Pseudo-code: Ck: Itemset candidat de taille k Fk : itemset fréquent de taille k F1 = {items fréquents}; for (k = 1; Fk <>; k++) do begin Ck+1 = candidats générés à partir de Fk % jointure for each transaction t dans la base do incrémenter le COUNT des candidats de Ck+1 qui sont dans t Fk+1 = candidats dans Ck+1 dont COUNT > support_min end return k Fk;
  • 32.
    Novembre 2008 32 Générationdes Candidats Les items de Fk-1 sont triés (ordre lexicographique) 1/2 Insert into Ck select p.item1, p.item2, …, p.itemk-1, q.itemk-1 from Lk-1 p, Lk-1 q where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 < q.itemk-1 Self-join de Fk-1
  • 33.
    Novembre 2008 33 Générationdes Candidats: l’élagage 2/2 Pour chaque itemset c dans Ck Faire Pour chaque (k-1)-sous-ensemble s de c Faire Si (s n’est pas dans Fk-1) Alors supprimer c de Ck Elagage de Ck
  • 34.
    Novembre 2008 34 Générationde Candidats: Exemple  C4={abcd} abc abd acd ace bcd F3={ } Self-join: F3*F3 abcd acde Élagage : ade  F3
  • 35.
    Novembre 2008 35 Exemple:l’algorithme Apriori Scan 1 Scan 2 Scan 3 Scan 4
  • 36.
    Novembre 2008 36 Générationdes règles associatives : Exemple Exemple : minsup = 3/6 et minconf = 1/2 Itemset Support BCE 4/6 Règle Confiance BCE 4/4 BEC 4/5 CEB 4/4 Règle Confiance BCE 4/5 EBC 4/5 CBE 4/5 F3 F2 F1 Les règles sont générées à partir des itemsets fréquents et leurs supports (temps négligeables)
  • 37.
    Novembre 2008 37 Générationdes règles associatives : Formellement On considère les k-itemsets fréquents par taille décroissante – Pour chaque k-itemsets fréquents f, on examine tous (k-1)-sous- ensembles, puis ses (k-2)-sous-ensembles, etc. Astuce (à prouver) : – On calcule la confiance de la règle X (Y-X) (i.e., X Y) – Si elle n’est pas valide alors les règles de la forme : X’(Y-X’) pour X’ X ne peuvent pas être valides non plus
  • 38.
    Novembre 2008 38 Exercice IDItems 1 A,C,T,W 2 C,D,W 3 A,C,T,W 4 A,C,D,W 5 A,C,D,T,W 6 C,D,T Soit la base de transactions suivante. Pour minsup= 2 et minconf= 80%: 1. Appliquer l’ algorithme Apriori pour extraire les itemsets fréquents 2. Extraire les règles associatives
  • 39.
    Novembre 2008 39 Réductiondu nombre des règles Règles associatives nombreuses et redondantes… Une règle est dite redondante si elle n’et pas porteuse de connaissances supplémentaires par rapport à l’ensemble des règles résultats. Complexité importante :  IK  2 k -2 règles possibles Les règles 1-3 et 5-9 sont redondantes % à la règle 4 Règles d’association : support 100, confiance 54 % 1. lamelles libres  comestible 2. lamelles libres  comestible, voile partiel 3. lamelles libres  comestible, voile blanc 4. lamelles libres  comestible, voile partiel, voile blanc 5. lamelles libres, voile partiel  comestible 6. lamelles libres, voile partiel  comestible, voile blanc 7. lamelles libres, voile blanc  comestible 8. lamelles libres, voile blanc  comestible, voile partiel 9. lamelles libres, voile partiel, voile blanc  comestible
  • 40.
    Novembre 2008 40 Lesrègles associatives en chiffres Jeu de données minsup Règles exactes T10I4D100K 0,5 % 0 Mushrooms 30 % 7 476 C73D10K 90 % 52 035 Jeu de données minsup minconf Règles approx. T10I4D100K 0,5 % 70 % 20 419 50 % 21 686 Mushrooms 30 % 70 % 37 671 50 % 56 703 C73D10K 90 % 95 % 1 606 726 85 % 2 053 936
  • 41.
    41 Les représentations concises exactes Itemsetsfermés fréquents Itemsets Non-dérivables Itemsets essentiels
  • 42.
    42 Les représentations concises exactes Itemsetsfermés fréquents Itemsets Non-dérivables Itemsets essentiels
  • 43.
    Novembre 2008 43 ContextesFormels et Correspondances de Galois Contextes Formels et Correspondances de Galois 1 2 3 X X X X X X X a b c d 4 5 6 X X X X X X X X X 7 X X X 8 X X X I O corresp. de Galois Y  f(X) ssi X  g(Y) opérateurs fermeture X'' = g º f(X) Y'' = f º g(Y) K= (O, I, R) I O g(Y) = {x  O   y  Y, (x, y)  R} = Y' g Y2' Y1 Y2 Y1' X3 Y3 f = g-1 ens. fermés X = X'', Y = Y'' {5, 6}'' = {5, 6} {a, d}'' = {a, d} {b, d}'' = {a, b, d} {5, 7}' = {a, d} {b, d}' = {5, 6} f(X) = {y  I   x  X, (x, y)  R } = X' f X2' X1 X2 X1'
  • 44.
    Novembre 2008 44 Treillisde Concepts Formels (de Galois) Treillis de Concepts Formels (de Galois) concept formel (X,Y) X  Co (K) (extent), X = Y'; Y  Ci (K) (intent), Y = X'. ordre partiel (X1, Y1)  (X2, Y2) ssi X1  X2 ( Y2  Y1) (sous-concept de) Li (K) Lo (K) Familles de ss-ens. fermés Co (K) = { X | X  O, X'' = X} Ci (K) = { Y | Y  I, Y'' = Y } (anti-)isomorphisme de treillis Lo = (Co (K), )  Li = (Ci (K), ) avec f et g comme co-bijections g f (6,abcd) (56,abd) (678,acd) (36,abc) (12356,ab) (34678,ac) (5678,ad) (12345678,a) L(K)
  • 45.
    Novembre 2008 45 Extractionde bases pour les règles d’association Base pour les règles d’association exactes : implication intra-nœud (entre les générateurs minimaux et le sommet de la classe) (;5) (C;4) (BE;4) (AC;3) (BCE;3) (ABCE;2) {C} {B}, {E} {A} {BC} {AB}, {AE} ,{CE} BC E et CE  B AB CE ABC E ABE C AB E AB C
  • 46.
    Novembre 2008 46 Extractionde bases pour les règles d’association Base pour les règles d’association approximattives : implication inter-nœud (entre deux classes d’équivalences comparables) (;5) (C;4) (BE;4) (AC;3) (BCE;3) (ABCE;2) {C} {B}, {E} {A} {BC} {AB} ,{CE} B  CE et E  BC B  ACE et E ABC
  • 47.
    Novembre 2008 47 Deschiffres … qui parlent !! Jeu de données minsup Règles exactes Base exacte T10I4D100K 0,5 % 0 0 Mushrooms 30 % 7 476 543 C73D10K 90 % 52 035 1 369 Jeu de données minsup minconf Règles approx. Base approx. T10I4D100K 0,5 % 70 % 20 419 4 004 50 % 21 686 4 191 Mushrooms 30 % 70 % 37 671 1 221 50 % 56 703 1 481 C73D10K 90 % 95 % 1 606 726 5 680 85 % 2 053 936 5 718
  • 48.
    48 Les algorithmes Close (Pasquieret al, 1998)  A-Close (Pasquier et al, 1999)  Closet (Han et al, 2000)  Charm (Zaki et al, 2000) Titanic (Stumme et al, 2002)
  • 49.
    Novembre 2008 49 Classifcationdes algorithmes •La technique « Tester-et-générer » : les algo. parcourent l’espace de recherche par niveau. A chaque niveau k, un ensemble de candidats de taille k est généré. Cet ensemble de candidats est élagué par la conjonction d’une métrique statistique (e.g. le support) et des heuristiques basées essentiellement sur les propriétés structurelles des itemsets fermés. •La technique « Diviser-pour-régner » : les algo. essaient de diviser le contexte d’extraction en des sous-contextes et d’appliquer le processus de découverte des itemsets fermés récursivement sur ces sous-contextes. Ce processus de découverte repose sur un élagage du contexte basé essentiellement sur l’imposition d’une métrique statistique et d’heuristiques introduites. • La technique « hybride » : les algo. Algorithms utilisent les propriétés des deux techniques: •Exploration de l’espace de recherche en profondeur d’abord (technique 2 mais sans subdivision); •Génération de candidats (technique 1 mais 1 seul candidat à la fois) et teste s’il est fermé.
  • 50.
    Novembre 2008 50 1èretechnique: Algorithme générique Entrée: K :Contexte d’Extraction, minsup Sortie: Ensemble des itemsets fermés fréquents 1: Initialiser l’ensemble de candidats de taille 1 2: tant que ensemble de candidats non vide faire 3: Étape d’élagage (ou de test) 1) Calculer le support des candidats 2) Élaguer l’ensemble de candidats par rapport à minsup 3) (Éventuellement) calculer les fermetures des candidats retenus 4: Étape de construction 1) Construire l’ensemble de candidats à utiliser lors de l’itération suivante 2) Élaguer cet ensemble en utilisant les propriétés structurelles des itemsets fermés et/ou des générateurs minimaux. 5: fin tant que 6: retourner Ensemble des itemsets fermés fréquents
  • 51.
    Novembre 2008 51 L’AlgorithmeClose Entrées : K, MinSup et MinConf Sortie : ERI (Ensemble des règles intéressantes) Algorithme Close 1. Découvrir tous les itemsets fermés fréquents 3. Génération de règles associatives intéressantes 2. Dériver tous les itemsets fréquents
  • 52.
    Novembre 2008 52 Close: Exemple ID Items 1 A,C,D 2 B,C,E 3 A,B,C,E 4 B,E 5 A,B,C,E Itemset Support Fermeture A 3 A,C B 4 B,E C 4 C D 1 !!! E 4 B,E Itemset Support Fermeture A 3 A,C B 4 B,E C 4 C E 4 B,E Elagage Min. support =2
  • 53.
    Novembre 2008 53 6 combinaisons possibles Exemple (suite) Itemset A B C E Itemset A B C E Itemset A B C E CE BE BC AE AC AB Itemsets candidats
  • 54.
    Novembre 2008 54 Exemple(suite)  Seulement 4 combinaisons à développer Enlève AC , puisque AC f g( A ) Enlève BE , puisque BE f g( B ) Heuristique CE BE BC AE AC AB Itemsets candidats CE BC AE AB Itemsets candidats
  • 55.
    Novembre 2008 55 Exemple(suite) Fermeture Support A,C 3 B,E 4 C 4 A,B,C,E 2 B,C,E 3 Arrêt Sortie Itemset Support Fermeture AB 2 A,B,C,E AE 2 A,B,C,E BC 3 B,C,E CE 3 B,C,E
  • 56.
    Novembre 2008 56 Exercice IDItems 1 A,C,T,W 2 C,D,W 3 A,C,T,W 4 A,C,D,W 5 A,C,D,T,W 6 C,D,T Soit la base de transactions suivante. Pour minsup= 2 et minconf= 80%: 1. Appliquer l’algorithme Close pour extraire les itemsets fermés fréquents 2. Extraire les itemsets fréquents à partir de ceux fermés 3. Extraire les bases génériques de règles associatives 4. Déduire toutes les règles associatives
  • 57.
    Novembre 2008 57 Prince Premièreétape : – Inspirée de Titanic. – Trouver GMFK et GBd-. Exemple : Soit le contexte K pour minsup = 2 et minconf = 0,5. A B C D E 1 x x x 2 x x x 3 x x x x 4 x x 5 x x x x GMF GMFK K = {(,5),(B,4),(C,4), (E,4), (A,3), (BC,3),(CE,3), (AB,2), (AE,2)} GBd- GBd- = {(D,1)} = {(D,1)} trié par ordre décroissant du support
  • 58.
    Novembre 2008 58 Prince Deuxième étape : – Ordonner partiellement les éléments de GMFK! et sans aucun accès au contexte! – Isotonie de l’opérateur de fermeture. • Soit x  GMFK tel que |x|=k. Si y  x alors h(y)  h(x).  En particulier si |y|=k-1. – Comparaisons entre générateurs minimaux fréquents. • Soient x, y  GMFK , – Si supp(x)=supp(y) = supp(xUy) alors Cx ≡ Cy. – Si supp(x) <supp(y) et supp(x) = supp(xUy) alors Cx est un successeur de Cy. – Sinon Cx et Cy sont incomparables.
  • 59.
    Novembre 2008 59 Prince Exemple(suite) : GBd- = {(D,1)} , , , , , , , , (,5) (B,4) (C,4) (E,4) (A,3) (BC,3) (CE,3) (AB,2) (AE,2) GMF GMFK K = { } (B,4), (E,4)
  • 60.
    Novembre 2008 60 Prince Exemple(suite) : (,5) (C,4) (A,3) (BC,3),(CE,3) (AB,2), (AE,2) Treillis des générateurs minimaux (B,4), (E,4)
  • 61.
    Novembre 2008 61 Prince Troisièmeétape : – Retrouver IFFK • Soient f, f1  IFFK tq Cf est un successeur immédiat de Cf1 . f = f1 U GMf.  Calcul non redondant de IFFK. – Extraire les BGRs • Règles exactes : d’une manière directe. • Règles approximatives : nous avons l’ordre!
  • 62.
    Novembre 2008 62 Prince Exemple(suite) : minconf = 0,5. (,5) (C,4) (A,3) (BC,3),(CE,3) (AB,2), (AE,2) Treillis des générateurs minimaux (B,4), (E,4) (,5) (BE,4) B  E (4) E  B (4) 0,8   BE (4) Détermination ascendante de IFFK et des BGRs (C,4) 0,8   C (4) (AC,3) (ABCE,2) (BCE,3) Treillis d’Iceberg de Galois + Les BGRs ……. ……. …….
  • 63.
    63 Les algorithmes Close (Pasquieret al, 1998)  A-Close (Pasquier et al, 1999)  Closet (Han et al, 2000)  Charm (Zaki et al, 2000) Titanic (Stumme et al, 2002)
  • 64.
    Novembre 2008 64 Explorationsans génération de candidats (Han et al 2002)  Compresser la base, Frequent-Pattern tree (FP-tree)  Une représentation condensée  Évite les balayages (scans) coûteux de la base  Développer une méthode efficace pour l’exploration basée sur une approche originale:  diviser-pour-régner: décompose le problèmes en sous-problèmes  Pas de génération de candidats : test de la “sous-base” seulement !!
  • 65.
    Novembre 2008 65 Constructionde la structure condensée: FP-Tree ID Items 1 A,C,D 2 B,C,E 3 A,B,C,E 4 B,E 5 A,B,C,E 1. On construit la liste « triée »: L = [B:4, C:4, E:4, A:3] 2. On parcourt une 2ème fois la base. On lit les transactions selon l’ordre des items dans L Min. support =2 ID Items 1 C,A 2 B,C,E 3 B,C,E,A 4 B,E 5 B,C,E,A
  • 66.
    Novembre 2008 66 Constructionde la structure condensée: FP-Tree La lecture de T1 donne Null C:1 A:1 0 B 1 C 0 E 1 A ID Items 1 C,A 2 B,C,E 3 B,C,E,A 4 B,E 5 B,C,E,A
  • 67.
    Novembre 2008 67 FP-Trees:Exemple La lecture de T2 Null C:1 A:1 1 B 2 C 1 E 1 A C:1 B:1 E:1 ID Items 1 C,A 2 B,C,E 3 B,C,E,A 4 B,E 5 B,C,E,A
  • 68.
    Novembre 2008 68 FP-Trees:Exemple La lecture de T3 Null C:1 A:1 2 B 3 C 2 E 2 A C:2 B:2 E:2 A:1 ID Items 1 C,A 2 B,C,E 3 B,C,E,A 4 B,E 5 B,C,E,A
  • 69.
    Novembre 2008 69 Closet:Exemple Freq1 :{B;4,C ;4 ;E;4,A;3} 1-itesmet fréquents C A B C E B C E A B E B C E A Base de transactions ordonnée BD Conditionnelle ‘A’ C B C E B C E Output : {CA;3} C E C E BD Conditionnelle ‘BA’ Output : {BCEA;2} BC B C B B C Output : {BE ;4} BD Conditionnelle ‘E’ B B B BD Conditionnelle EC Output : {BCE;3} BD Conditionnelle ‘C’ B B B Output : {C;4} Output : {BCEA;2} B C B C BD Conditionnelle ‘EA’
  • 70.
    Novembre 2008 70 Exercice IDItems 1 A,C,T,W 2 C,D,W 3 A,C,T,W 4 A,C,D,W 5 A,C,D,T,W 6 C,D,T Soit la base de transactions suivante. Pour minsup= 2 et minconf= 80%: 1. Construire le FP-tree associé 2. Appliquer l’algorithme Closet pour extraire les itemsets fermés fréquents 3. Extraire les itemsets fréquents à partir de ceux fermés 4. Extraire les bases génériques de règles associatives 5. Déduire toutes les règles associatives
  • 71.
    71 Les algorithmes Close (Pasquieret al, 1998)  A-Close (Pasquier et al, 1999)  Closet (Han et al, 2000)  Charm (Zaki et al, 2000) Titanic (Stumme et al, 2002)
  • 72.
    Novembre 2008 72 ChARM(1)  ChARM : abbréviation de Closed Association Rule Mining (le ’h’ est gratuit).  Un algorithme hybride : – Parcours l’espace de recherche en profondeur d’abord en considérant 1 par 1 les items fréquents • « Diviser-et-régner » – En générant 1 seul candidat à la fois • « Tester-et-générer »
  • 73.
    Novembre 2008 73 ChARM(2) Caractéristiques – Explore à la fois de l’espace des itemsets et celui des transactions. – Construit un arbre appelé IT-Tree (Itemset-Tidset Tree) : nœud  (candidat IFF A, extension de A) – Fondé sur la comparaison des extensions de chaque deux candidats A et B ayant même parents dans IT-Tree  4 cas sont à distinguer
  • 74.
    Novembre 2008 74 ChARM(3) 1er cas : f(A)=f(B) alors fog(A)=fog(B)=fog(A U B)  A et B ne sont pas des fermés.  A est remplacé par A U B dans IT-Tree.  B est éliminé de IT-Tree. 2ème cas : f(A)f(B) alors fog(A)≠fog(B) et fog(A)=fog(A U B)  Toute occurrence de A dans IT-Tree est remplacée par A U B.
  • 75.
    Novembre 2008 75 ChARM(4) 3ème cas : f(A)f(B) alors fog(A)≠fog(B) et fog(B)=fog(A U B)  B est éliminé de IT-Tree.  A U B est ajouté comme fils de A dans IT-Tree. 4ème cas : f(A) ≠f(B) alors fog(A)≠fog(B) ≠fog(A U B)  A U B est ajouté comme fils de A dans IT-Tree ssi |fog(A U B)| ≥ minsup.
  • 76.
    Novembre 2008 76 ChARM(5) Stratégies d’élagage? – Métrique statistique : minsup – Test de couverture : un candidat p n’est considéré un IFF que si p n’est pas inclus dans aucun IFF déjà trouvé et ayant même support.
  • 77.
    Novembre 2008 77 ChARM(6) Exemple : Soit le contexte K pour minsup = 2. root (A,135) (B,2345) (C,1235) (E,2345) IT-Tree initial (D,1) A B C D E 1 x x x 2 x x x 3 x x x x 4 x x 5 x x x x
  • 78.
    Novembre 2008 78 root (A,135)(B,2345) (C,1235) (E,2345) (AB,35) cas 4 IFF ={} cas 2 (AC, 135) (ABC, 35) cas 3 (ACE,35) cas 1 (ABCE, 35) IFF ={(ABCE,35)} AC n’est pas couvert IFF ={(ABCE,35),(AC,135)} cas 4 (BC,235) (BE,2345) (BCE,235) cas 1 BCE n’est pas couvert IFF ={(ABCE,35),(AC,135),(BCE,235)} BE n’est pas couvert IFF ={(ABCE,35),(AC,135),(BCE,235),(BE,2345)} C n’est pas couvert IFF ={(ABCE,35),(AC,135),(BCE,235),(BE,2345),(C,1235)} Suite exemple
  • 79.
    Novembre 2008 79 ChARM(7) Amélioration de ChARM – Structure de données : Diffset. – D’autres algorithmes : LCM, DCI-Closed. Principales lacunes – Coût des intersections pour tester les 4 cas. – Gourmant en espace mémoire.

Notes de l'éditeur

  • #18 Dans ce qui suit, nous noterons par I italique l’itemset nommé I. Tandis que l’ensemble des items d’une relation binaire quelconque (y compris transaction) sera noté par I non italique.
  • #19 Ce lemme nous permet d’affirmer que la connaissance du support disjonctif (resp. conjonctif) de tous les sous-ensembles de I nous permet de calculer le support conjonctif (resp. disjonctif) de I. De même, la connaissance du support disjonctif (resp. négatif) de I nous permet de dériver directement le support négatif (resp. disjonctif) de I.
  • #21 Notons que le support conjonctif de l’ensemble vide est égal au nombre de transactions de la base de données Notons aussi que le support disjonctif de l’ensemble vide n’existe pas car le support disjonctif d’un itemset requiert par définition la présence d’au moins un item au sein de l’itemset. ~à noter que les supports déduits correspondent aux supports effectifs de BC. IE dénote les identités d’inclusion-exclusion
  • #43 LES QUOTES - pour la simplification
  • #44 LES QUOTES - pour la simplification