2. Définition: Tableau de transaction
• Les données D (un ensemble d’objets, ou de transactions) à
explorer sont binaires.
• Chaque transaction décrit au moyen d’un ensemble fini
d’attributs I = {i1, . . . , im}, également appelés items.
• Chaque transaction t sera donc un sous-ensemble de I .
• On associe à chaque transaction un identifiant (TID pour
“Transaction IDentifier” ):D = {t1, . . . , tn}.
2
4. Définition: Itemsets, Support
• Pour un ensemble X d’items (on parle généralement
d’itemsets) de I , on dira qu’une transaction t
contient X si et seulement si X ⊆ t. Par exemple,
l’itemset {i3, i4} est contenu dans la transaction t1.
• On appelle support d’un itemset X le rapport entre
le nombre de transactions contenant X et le nombre
total de transactions de D.
4
5. Propriétés : Itemset
• Antimonotonicité: étant donné deux itemsets
X et Y , on a :
• Moins intuitivement, notons aussi que :
5
6. Définition: Itemset fréquent
• On dit qu’un itemset X est fréquent lorsque son
support est supérieur ou égal à un seuil σ donné.
Un itemset n’ayant pas le support suffisant est dit
non fréquent.
6
7. Propriétés: Itemset fréquent
• Etant donné un seuil de référence σ fixé, tout sous-
ensemble d’un itemset fréquent est fréquent.
• Tout sur-ensemble d’un itemset non fréquent est
non fréquent.
7
8. Définition :Règle d’association,
support, confiance
• Une règle d’association est un couple (A,B), où
A et B sont des itemsets non vides disjoints, i.e.
A ≠ ∅, B ≠ ∅, et A ∩ B = ∅. On note
classiquement un tel couple sous la forme A
→ B.
• On définit le support d’une règle d’association
comme étant le support de l’itemset A ∪ B
(i.e. la proportion de transactions contenant à la
fois A et B) :
8
9. Définition :Règle d’association,
support, confiance
• On définit également la confiance d’une règle A
→ B, notée Conf(A → B), comme étant le
rapport entre le support de l’itemset A ∪ B et de
celui de A :
9
10. 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} n’est pas fréquent alors {AB} ne peut pas l’être
• si {AB} est fréquent alors {A} et{B} sont fréquents
• 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
10
11. L’algorithme Apriori
•Etape de jointure: Ck est généré en joignant Lk-1avec lui même
•Etape d’élimination: Chaque (k-1)-itemset qui n’est pas fréquent ne peut être
un sous ensemble d’un k-itemset fréquent
Ck: Itemset candidat de taille k, Lk : itemset fréquent de taille k
L1 = {items fréquents};
for (k = 2; Lk !=; k++) do begin
Ck= candidats générés à partir de Lk-1 % jointure
for each transaction t dans la base do
incrémenter le Support des candidats de Ck qui sont dans t
Lk = candidats dans Ck dont COUNT > support_min
end for
End for
return k Lk 11
13. 13
Algorithme Apriori :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.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 <
>q.itemk-1
• Etape 2: pruning (élagage)
Pour chaque itemset c dans Ck Faire
Pour chaque (k-1)-sous-ensemble s de c Faire
Si (s n’est pas dans Lk-1) Alors supprimer c de Ck
14. 14
Exemple de Génération de
Candidats
• L3={abc, abd, acd, ace, bcd}
• Self-join: L3*L3
– abcd à partir de abc et abd
– acde à partir acd et ace
• Pruning:
– acde est supprimé car ade n’est pas dans L3
• C4={abcd}
15. Algorithme AprioriTid
L'algorithme AprioriTid est une variante de
l'algorithme Apriori proposée par Agrawal et
Srikant. Il permet de diminuer progressivement la
taille de la base de transaction, dans le but de le
stocker en mémoire et ne plus réaliser d'opération
d'entrée/sortie.
15
16. Algorithme AprioriTid
• 𝐶 𝑘 : ensemble de k-itemsets candidats.
• 𝐹𝑘 : ensemble de k-itemsets fréquents.
• 𝐶 𝑘: chaque élément de cet ensemble correspond à un
objet et possède deux champs : OID qui est l’identifiant
de l’objet et liste-candidats qui contient la liste des k-
itemsets candidats contenus dans la transaction.
16