SlideShare une entreprise Scribd logo
1  sur  24
Chapitre 2
Extraction des Règles d’Association
1
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
Définition: Tableau de transaction
3
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
Propriétés : Itemset
• Antimonotonicité: étant donné deux itemsets
X et Y , on a :
• Moins intuitivement, notons aussi que :
5
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
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
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
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
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
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
12
Algorithme Apriori — Exemple
TID Items
100 1 3 4
200 2 3 5
300 1 2 3 5
400 2 5
base D itemset sup.
{1} 2
{2} 3
{3} 3
{4} 1
{5} 3
itemset sup.
{1} 2
{2} 3
{3} 3
{5} 3
Scan D
C1
L1
itemset
{1 2}
{1 3}
{1 5}
{2 3}
{2 5}
{3 5}
itemset sup
{1 2} 1
{1 3} 2
{1 5} 1
{2 3} 2
{2 5} 3
{3 5} 2
itemset sup
{1 3} 2
{2 3} 2
{2 5} 3
{3 5} 2
L2
C2 C2
Scan D
C3 L3itemset
{2 3 5}
Scan D itemset sup
{2 3 5} 2
Avec min_support=2
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
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}
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
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
Algorithme AprioriTid
17
Exemple: extraction des itemsets fréquents dans la base de
transaction D avec l’algorithme AprioriTid pour minsupport=2/6
18
19
Exemple: extraction des itemsets fréquents dans la base de
transaction D avec l’algorithme AprioriTid pour minsupport=2/6
20
Exemple: extraction des itemsets fréquents dans la base de
transaction D avec l’algorithme AprioriTid pour minsupport=2/6
Génération des règles d'association
Ensemble d’items fréquents
21
Réduction du nombre de règles
22
Réduction du nombre de règles
23
Génération des règles d'association
24

Contenu connexe

En vedette

Découverte de règles d’association pour la prévision des accidents maritimes
Découverte de règles d’association pour la prévision des accidents maritimesDécouverte de règles d’association pour la prévision des accidents maritimes
Découverte de règles d’association pour la prévision des accidents maritimesBilal IDIRI
 
Machine Learning and Data Mining: 04 Association Rule Mining
Machine Learning and Data Mining: 04 Association Rule MiningMachine Learning and Data Mining: 04 Association Rule Mining
Machine Learning and Data Mining: 04 Association Rule MiningPier Luca Lanzi
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data MiningTakfarinas KENOUCHE
 

En vedette (7)

31
3131
31
 
Découverte de règles d’association pour la prévision des accidents maritimes
Découverte de règles d’association pour la prévision des accidents maritimesDécouverte de règles d’association pour la prévision des accidents maritimes
Découverte de règles d’association pour la prévision des accidents maritimes
 
Machine Learning and Data Mining: 04 Association Rule Mining
Machine Learning and Data Mining: 04 Association Rule MiningMachine Learning and Data Mining: 04 Association Rule Mining
Machine Learning and Data Mining: 04 Association Rule Mining
 
Apriori algorithm
Apriori algorithmApriori algorithm
Apriori algorithm
 
Apriori algorithm
Apriori algorithmApriori algorithm
Apriori algorithm
 
Apriori Algorithm
Apriori AlgorithmApriori Algorithm
Apriori Algorithm
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 

Similaire à HTML5

Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonMariem ZAOUALI
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfMbarkiIsraa
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystMathieu Goeminne
 
3 vb reference
3 vb reference3 vb reference
3 vb referencekkatia31
 

Similaire à HTML5 (9)

associations5.ppt
associations5.pptassociations5.ppt
associations5.ppt
 
Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en python
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et Catalyst
 
Video
VideoVideo
Video
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
3 vb reference
3 vb reference3 vb reference
3 vb reference
 

HTML5

  • 1. Chapitre 2 Extraction des Règles d’Association 1
  • 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
  • 3. Définition: Tableau de transaction 3
  • 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
  • 12. 12 Algorithme Apriori — Exemple TID Items 100 1 3 4 200 2 3 5 300 1 2 3 5 400 2 5 base D itemset sup. {1} 2 {2} 3 {3} 3 {4} 1 {5} 3 itemset sup. {1} 2 {2} 3 {3} 3 {5} 3 Scan D C1 L1 itemset {1 2} {1 3} {1 5} {2 3} {2 5} {3 5} itemset sup {1 2} 1 {1 3} 2 {1 5} 1 {2 3} 2 {2 5} 3 {3 5} 2 itemset sup {1 3} 2 {2 3} 2 {2 5} 3 {3 5} 2 L2 C2 C2 Scan D C3 L3itemset {2 3 5} Scan D itemset sup {2 3 5} 2 Avec min_support=2
  • 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
  • 18. Exemple: extraction des itemsets fréquents dans la base de transaction D avec l’algorithme AprioriTid pour minsupport=2/6 18
  • 19. 19 Exemple: extraction des itemsets fréquents dans la base de transaction D avec l’algorithme AprioriTid pour minsupport=2/6
  • 20. 20 Exemple: extraction des itemsets fréquents dans la base de transaction D avec l’algorithme AprioriTid pour minsupport=2/6
  • 21. Génération des règles d'association Ensemble d’items fréquents 21
  • 22. Réduction du nombre de règles 22
  • 23. Réduction du nombre de règles 23
  • 24. Génération des règles d'association 24