Vous êtes sur la page 1sur 19

ESCT

Algorithme d’extraction de règles association

APRIORI

Matière : Data Mining

Responsable de la matière : M. Mohamed Mohsen Gammoudi


Définitions
 Base de données : ensemble d’enregistrements (tuples)
pouvant être de différents formats

 Base de données transactionnelle : ensemble de


transactions

 Transaction : composé d’un identifiant unique et d’un


ensemble d’attributs

2
Définitions (1)
 Contexte formel :

Soit un triplet k = (O, I, R)


O : un ensemble finis d’objets (les transactions)

I : un ensemble finis d’attributs (les items)


R  O x I : relation binaire entre les transactions et les
items.

Si un couple (o, i)  R alors la transaction o  O contient


l’item i  I. [N. Pasquier 00]

3
Base de données : exemple
Soit la base de Transactions suivante

ID Transaction Articles achetés


1 A1, A2, A5
2 A2, A4 O = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
3 A2, A3
4 A1, A2, A4
5 A1, A2, A3
I = {A1, A2, A3, A4, A5}
6 A2, A3, A5
7 A1, A3 Le couple (5, A2)  R
8 A1, A2, A3, A5
9 A1, A2, A3
10 A2, A3

4
Définitions (2)
 Itemset : un sous-ensemble non vide de I. Un Itemset
composé de k éléments est appelé un k-Itemset

5
Itemset : exemple
Soit la base de Transactions suivante

ID Transaction Articles achetés {A1} ; {A2} ; {A3} ; {A4} ; {A5}


1 A1, A2, A5 sont des 1-Itemsets
2 A2, A4
3 A2, A3
{A1, A2} ; {A1, A3} ; {A1, A4} ; {A1, A5} ;
4 A1, A2, A4
5 A1, A2, A3
{A2, A3} ; {A2, A4} ; {A2, A5} ;
6 A2, A3, A5 {A3, A4} ; {A3, A5} ;
7 A1, A3 {A4, A5} sont des 2-Itemsets
8 A1, A2, A3, A5
9 A1, A2, A3 {A1, A2, A3, A4, A5} est un 5-Itemset
10 A2, A3

6
Définitions (3)
 Itemset : un sous-ensemble non vide de I. Un Itemset
composé de k éléments est un k-Itemset
 Support d’un itemset : la fréquence de son apparition
dans la base de transaction.
Soit (O, I, R) une base de transactions et I’ un itemset
Supp(I’) = | {o  O / ( i  I’, (o, i)  R) } | / |O|

Le nombre des transactions qui contiennent tous les items de


l’itemset I’ divisé par le nombre total des transactions

7
Support d’un Itemset : exemple
Soit la base de Transactions suivante

ID Transaction Articles achetés Soit le 2-Itemset {A1, A2} noté I1 :


1 A1, A2, A5
| {o  O / ( i  I1, (o, i)  R) } | = 5
2 A2, A4
3 A2, A3 |O| = 10
4 A1, A2, A4
Supp(I1) = 5 / 10 = 0,5 = 50%
5 A1, A2, A3
6 A2, A3, A5
7 A1, A3 Supp ({A1, A4, A5}) ?
8 A1, A2, A3, A5 Supp ({A3, A5}) ?
9 A1, A2, A3
10 A2, A3

8
Définitions (4)
 Itemset : un sous-ensemble non vide de I. Un Itemset
composé de k éléments est un k-Itemset
 Support d’un itemset : la fréquence de son apparition
dans la base de transaction.
Soit (O, I, R) une base de transactions et I un itemset
Supp(I) = | {o  O / ( i  I, (o, i)  R) } | / O
Le nombre des transactions qui contiennent tous les items
de l’itemset I divisé par le nombre total des transactions
 Itemset fréquent : un itemset dont le support est
supérieur ou égal à un seuil défini par l’utilisateur
(minsup) 9
Itemset fréquent : exemple
Soit la base de Transactions suivante

ID Transaction Articles achetés


- Soient les Itemsets suivants :
1 A1, A2, A5
{A1, A2} ; {A1, A2, A3} ; {A4}
2 A2, A4
- le minsup est fixé à 30%
3 A2, A3
4 A1, A2, A4 Déterminer les Itemsets fréquents
5 A1, A2, A3
6 A2, A3, A5 - Supp ({A1, A2}) = (5/10)*100 = 50%
7 A1, A3 - Supp ({A1, A2, A3}) = (3/10)*100 = 30%
8 A1, A2, A3, A5 - Supp ({A4}) = (2/10)*100 = 20%
9 A1, A2, A3
10 A2, A3 Les Itemsets fréquents sont
{A1, A2} ; {A1, A2, A3}
10
Définitions (5)
 Règles associatives :
Une règle associative a la forme suivante :
A1 A 2 A3 … An  B 1 B2 B3 … Bm
 A1, A2, A3, …, An, B1, B2, B3, …, Bm sont des items
 A1, A2, A3, …, An : premisse
 B1 B2 B3 … Bm : conclusion

 Confiance d’une règle associative : la probabilité d’avoir l’itemset


{B1 , B2 , B3 , … , Bm} dans une transaction sachant qu’il y a {A1, A2,
A3 , …, An}

 Règle associative valide : extraite à partir d’un itemset fréquent et


a une confiance supérieure ou égale à un seuil fixé par l’utilisateur
(minconf)
11
Règles d’association : exemple
Tickets Produits achetés

et
Support =
vin Tous tickets

et
Confiance =
+

règle d’association : prémisse conclusion


Support Confiance
beurre pain 70% 100%

poisson viande lait 20% 100%

fromage pâtes vin 40% 80%


[Jérôme Azé, 04]
12
Extraction des règles associatives
 Le processus d’extraction des règles associatives :

 Étape 1 : recherche de tous les ensembles d’itemsets


fréquents dont le support est supérieur à minsup

Algorithme Apriori [Agrawel et al. 94]

 Étape 2 : extraire les règles associatives valides à partir des


ensembles d’itemsets fréquents dont le support et la
confiance sont successivement supérieurs aux minsup et
minconf

13
Algorithme Apriori
Algorithme 1 APRIORI
Entrée : B une base de données transactionnelle ; s minsup fixé par l’utilisateur
Sortie : L’ensemble de tous les Itemsets fréquents de B
Début
L1  liste des 1-itemsets dont le support est  s
i 1
répéter
i++
à partir de Li -1, déterminer l'ensemble Ci des Itemsets fréquents candidats
comprenant i items
Li  
pour tout élément c  Ci faire
si support (c)  s alors
ajouter c à Li
fin si
fin pour
jusque Li  
Retourner k Lk
Fin
14
Algorithme Apriori : exemple
Soit la base de Transactions suivante

ID Transaction Articles achetés


1 A1, A2, A5
2 A2, A4
3 A2, A3
4 A1, A2, A4 Déterminer les Itemsets fréquents
5 A1, A2, A3 en utilisant Apriori sachant que le
6 A2, A3, A5 minsup = 45%
7 A1, A3
8 A1, A2, A3, A5
9 A1, A2, A3
10 A2, A3

15
Algorithme Apriori : exemple (1)
I : Itemset ; s : support ; minsup : 45% ; Lk : liste des k-Itemsets fréquents ; Ck: liste
des k-Itemsets candidats
L1
C1
I s I s
Générer les candidats
{A1} 60% Retirer les candidats {A1} 60% C2 à partir de L1
dont le s  45%
{A2} 90% {A2} 90%
{A3} 70%
{A3} 70%
{A4} 20%
{A5} 30%
C2 C2
L2 Parcourir la base de
Retirer les candidats I s données et calculer le I
I s dont le s  45% s de chaque I
{A1, A2} 50% {A1, A2}
{A1, A2} 50%
{A1, A3} 40% {A1, A3}
{A2, A3} 60%
{A2, A3} 60% {A2, A3}

16
Algorithme Apriori : exemple (2)
I : Itemset ; s : support ; minsup : 45% ; Lk : liste des k-Itemsets fréquents ; Ck: liste
des k-Itemsets candidats
L2
Parcourir la base de
I s Générer les candidats C3 données et calculer le
C3 à partir de L2 s de chaque I
{A1, A2} 50% I
{A2, A3} 60% {A1, A2, A3}

C3
Retirer les candidats
L3 dont le s  45% I s
{} {A1, A2, A3} 30%

Aucun candidat à générer  arrêt de


l’algorithme

17
Algorithme Apriori

18
Algorithme Apriori (1)

19

Vous aimerez peut-être aussi