Vous êtes sur la page 1sur 13

Chapitre 2 Extraction Automatique des Motifs et Règles

d'Associations dans les Données Structurées: BDD

2.1 Motivations et Utilité


L'extraction automatique des motifs (Pattern, sous-structure, séquence), des
motifs fréquents et des règle d'association constitue une étape essentielle dans
le processus d'extraction des connaissances du DM. Elle constitue en fait l'un
des premiers objectifs du DM, historiquement parlant. En effet, ce genre de
connaissance fut motivé aux débuts du DM par le cas classique du 'Panier de la
ménagère' ou 'Ticket de Caisse du Super Marché'. Le cas 'Ticket de Caisse du
Super Marché' lui-même fut motivé par les difficultés ressenties par les
décideurs et gestionnaires des grandes marques de Super Marchés américains,
réparties pratiquement sur l’ensemble des Etats Unis d’Amérique (USA). Les
difficultés que l’on peut imaginer ici sont de types :

- Quels produits proposer ?


- Pour quelle région et saison ?
- A quels prix ?
- Quels produits nécessitent de la promotion ?
- Quels arrangements des rayonnages des Super Marchés sont les plus
pertinents pour faciliter la tâche aux clients, mais aussi pour inciter les
clients à acheter encore plus?
- Quels produits sont achetés ensemble ?

Le data mining par ses outils et objectifs est venu aux secours de ces décideurs.
Nous présentons comme outils d’abord les techniques d’extraction des motifs
fréquents et des règles d’association.

2.2 Concepts de base du processus d'extraction des motifs fréquents


2.2.1 Cas du 'panier de la ménagère'
Soit une BDD de tickets de caisse, tel qu’illustré dans la figure suivante.
Huile Café Tomate Beure Pattes
Ticket1 Huile, Tomate, Beure
Ticket2 Café, Tomate, Pattes
Ticket3 Huile, Café, Tomate, Pattes
Ticket4 Café, Pattes
Ticket5 Huile, Café, Tomate, Pattes
Ticket6 Café, Tomate, Pattes

1 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD

a. Paquet de produits: ItemSet


Etant donné un ensemble de produits P={p1, p2, …, pN}, tout sous ensemble
de P est dit ItemSet.
Exemple:
Sur l'ensemble {Huile, Café, Tomate, Beure, Pattes}, des ItemSet sont:
{Café, Tomate, Pattes}, Taille=3
{Beure}; Taille=1
{}; Taille = 0
{Huile, Tomate, Café, Beure, Pattes }; Taille = 5

b. Règle: L'ordre des éléments dans un ItemSet ne compte pas.


Donc, {Café, Tomate} = {Tomate, Café}

c. Cardinalité: Le Nombre d'itemsets possibles de R est: 2 |P| = 2Card(P) = Taille


des partitions de P.

d. Représentation canonique:
Afin de faciliter les calculs d'extraction des motifs, une représentation
canonique (standard) sous forme de codes binaires des produits dans un
itemset est utilisée. Ce principe est illustré pour l'exemple précédent
dans la matrice suivante:

Huile Café Tomate Beure Pattes


Ticket1 1 0 1 1 0
Ticket2 0 1 1 0 1
Ticket3 1 1 1 0 1
Ticket4 0 1 0 0 1
Ticket5 1 1 1 1
Ticket6 0 1 1 1

Définition 1 (base de données formelle) Une base de données formelle est la


donnée d'un triplet (O , P , R) où :
O est un ensemble fini d'objets ;
P est un ensemble fini de propriétés associées à O;
R est une relation sur O X P qui permet d'indiquer si un objet x possède une
propriété p . Cette relation est alors notée:

2 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD

x possède p  xRp

Pour l'exemple présenté ci-haut, la base formelle est:

La codification X  {Ticket1..6} et {a..e}  {Huile, Café, Tomate, Beure,


Pattes}

2.2.3 Motif formel


Définition: Un motif d’une base de données formelle (O,P,R) est un sous-
ensemble de P. L’ensemble de tous les motifs d’une base est donc l’ensemble des
parties de P, noté 2P . Cet ensemble est représentable par une structure de
graphe appelée Lattice: Fig. ci-dessous, pour les P={a..e}
On dira qu’un objet x  O possède un motif m si  p  m, x R p.
Pour la base de données en exemple :

3 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD

Dans la base formelle précédente, x1 possède les motifs :

{, a; c; d; ac; ad; cd et acd}

Parmi l’ensemble global de 2p motifs, on va chercher ceux qui apparaissent


fréquemment. Pour cela, on introduira les notions de connexion de Galois et de
support d’un motif.

2.2.4 Connexion de Galois


La connexion de Galois associée à une base de données formelle (O , P , R) est le
couple de fonctions (f, g) définies par :

Plus clairement, f renvoie l'ensembles des objets x qui possèdent un motif donné
m.

Exemple:
f(bc) = {x2,x3,x5,x6} et f(abcde}=.

4 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD

Alors que g renvoie l'ensemble des propriétés que possèdent tous les éléments
d'un ensemble X, sous-ensemble des partitions de tous les objets dans O. g est
dite duale de f et f duale de g.
On dit aussi que f(m) est l’image du motif m.

2.2.5 Support d’un motif


Soit m  2P , un motif. Le support de m est la proportion d’objets dans O qui
possèdent le motif :

Par exemple dans la base précédente, on a :


Support(a) = 3/6 , Support(b) = 5/6 ; Support(ab) = 2/6 ; Support() = 1;
Support(P) = 0.

Propriété : Le support est décroissant de (2p , ) dans ([0 , 1] , ≤).

CAD:
si m est un sous-motif de m' (m  m') 
Support(m) ≥ Support(m')
- Le support mesure la fréquence d’un motif, relativement à la taille de O:
plus il est élevé, plus le motif est fréquent.

- En ottant une propriété à un motif fréquent, il reste fréquent et peut


être plus fréquent que le motif initial

- Corollaire: un surmotif m' d'un motif fréquent m est au plus aussi


fréquent que m, pas plus.

Nous distinguons alors les motifs fréquents des motifs non fréquents à l’aide
d’un seuil s (sigma seuil).

5 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD

2.2.6 Motif fréquent:


Soit s  [0; 1]. Un motif m est fréquent (relativement au seuil s) :

Si Support(m) ≥ s.

Sinon, il est dit non fréquent.

2.3 Méthodes d'extraction des motifs fréquents:


1.3.1 Méthode Naïve:
Une méthode naïve pour l’extraction des motifs fréquents consiste à
- parcourir l’ensemble de tous les motifs,
- calculer leurs nombres d’occurrences (support)
- Retenir seulement les motifs les plus fréquents.

Complexité (Naïve) = 2P : Exponentielle en termes du nombre de propriétés.

Donc, cette approche est écartée, puisque p, le nombre de propriétés est de


facto assez grand dans un contexte de DM.

2.3.2 L’algorithme Apriori


Apriori est un algorithme d'extraction des motifs fréquents très efficace. Il fut
proposé par Agrawal et et.al en 1994.

Cet algorithme a été prouvé efficace et pratique : Il permet d’extraire des


motifs fréquents dans une base de :

- des milliers d’attributs et

- des millions d’enregistrements.

6 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD

Description générale de l’Algorithme Apriori:


L’idée de base d’Apriori est d’effectuer une extraction par niveaux comme suit:

– Recherche les motifs fréquents de longueur 1 ;

– Combinaison de ces motifs pour obtenir des motifs de longueur 2 et retenir


seulement les plus fréquents.

– Combinaison de ces motifs pour obtenir des motifs de longueur 3 fréquents


selon la même démarche.

– Répéter le processus de combinaison-sélection jusqu'à la taille maximale.

L’analyse de cet algorithme montre que Apriori repose sur deux constations
fondamentales du point de vue de la notion des motifs fréquents:

1. Tout sous-motif d’un motif fréquent est fréquent.


Exemple: si le motif: Café, Tomate est fréquent:
Nous avons alors obligatoirement:
Support(café,Tomate) ≥ s 
Support(café) ≥ s et
Support(Tomate) ≥s

2. Tout sur-motif d’un motif non fréquent est non fréquent.


Exemple: si le motif: Café, Tomate est non-fréquent:
Nous avons alors obligatoirement:
Support(café,Tomate) < s 
Support(café,X) < s ,  X  P

Voici une version algorithmique de Apriori :

7 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD

Exemple d’exécution d’Apriori :


2
L'exécution de Apriori sur la base formelle avec s = 6 se passe est ainsi: 3, 5, 5,
1, 5

e1. Génération des candidats de taille 1 :


– C1 = { a , b , c , d, e }
– Supports : { 3/6 , 5/6, 5/6, 1/6, 5/6 }
D’où F1 = { a , b , c , e }

Premier résultat extrait:


d n'est pas fréquent  aucun motif fréquent ne contiendra d

e2. Génération de candidats de taille 2 : Combinaison des candidats de taille 1 de


F1, 2 à 2 :
– C2 = {ab , ac , ae , bc, be , ce }
– Supports : {2/6 , 3/6 , 2/6, 4/6, 5/6, 4/6}
Résultats: F2 = C2.

e3. Génération des candidats de taille 3 : Combinaison des des candidats de taille
2 de F2 et F1.

8 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD
– C3 = {abc , abe , ace , bce }
– Supports : { 2/6 , 2/6 , 2/6 , 4/6}
Résultats: F3 = C3.

e4. Génération des candidats de taille 4 :


– C4 = {abce}
– Supports :{ 2/6}

e5. Génération de candidats de taille 5 : C5 = ;. Donc, F5 = ;

e6. Résultat final: F1  F2  F3  F4

Remarque : Apriori parcoure au fait le treillis des parties de P ordonné.

Exemple: Pour simplifier, considérons le cas :


P = {a , b , c}.
Avec la BDD formelle suivante:
A B c
X1 1 0 1
X2 1 1 0
X3 1 1 0
X4 0 1 0

s=1/2
Taille1: Support a: 3/4; b: 3/4, c: 1/4
Item Fréquents: {a, b}
Taille 2: {ab}; Support: 2/4
Taille 3: 

La lattice correspondante est:

9 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD

1.4 Les règles d'association


Les règles d'association constituent le deuxième type de connaissances majeures
extraites dans les données. Pour les données structurées de type BDD de
transactions (ex : tickets de caisse), ce genre de connaissance reflète les
produits achetés, suite à l’achat d’autres produits.

Brièvement présentée, une règle d'association est noté: A  B ;


Où A et B sont des motifs fréquents (obtenus dans l'étape précédente).

a. Définition (Règle d'association):


Soit I = {i1, i2, …, iM}: ensemble d'itemset (fréquents) d'une BDD de
transactions T={t1, t2, …, tN} , ti  I ou une base formelle (X, O, P)

Une règle d'association : X  Y ; Où X  I et Y  I et X Y = 


Qui rapporte que l'item Y apparait dans les transactions lorsque X apparait.

Exemple:
Soit l'itemset i={Beef, Chicken, Cheese}
Une règle d'association à tirer de I est: Beef, Chicken  Cheese
Qui rapporte la connaissance nouvelle que, le fromage est acheté avec le bœuf et
le poulet.

10 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD
b. Support et Confiance d'une règle d'association
Nous disons qu'une transaction ti de T couvre (contient) un itemset X de I si X
est un sous-ensemble de ti.

Exemple: ti = Beef, Chicken, Cheese


couvre les itemset:
X1=Beef , X2= Beef, Cheese

c. Support brute (Support Count) d'un itemset X dans T est par définition le
nombre de transactions de T couvrant X
Le Support Count de X est noté: X.count

d. Support d'une règle d'association:


Le support d'une règle d'association X  Y est par danséfinition
𝑆𝑢𝑝𝑝𝑜𝑟𝑡 (𝑋 𝑌) 𝑋 𝑌 .𝑐𝑜𝑢𝑛𝑡
Support(XY) = =
𝑛 𝑛
Où n=|T|

e. Confiance (Confidence) d'une règle d'association: X  Y


La confiance d'une règle XY est le poucentage de transactions dans T
contenant X et contiennent Y.

𝑆𝑢𝑝𝑝𝑜𝑟𝑡 (𝑋 𝑌) 𝑋 𝑌 .𝑐𝑜𝑢𝑛𝑡


Confiance(XY) = =
𝑆𝑢𝑝𝑝𝑜𝑟𝑡 (𝑋) 𝑋.𝑐𝑜𝑢𝑛𝑡

Cette valeur peut être vue comme la probabilité conditionnelle de trouver Y


dans les transactions contenant X.

Confiance(XY)=Pr(Y|X)

f. Processus d'extraction des Règles d'associations:


Les règles d'associations sont extraites en fouillant dans les motifs fréquents.
Comme elles même doivent être fréquentes et digne de confiance, seules les
règles qui passent deux seuils sont gardées et considérées comme significatives
et dignes de confiance:
- Seuil de support: s
- Seuil de confiance c
11 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.
Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD
Exemple:
T=
t1: Beef, Chicken, Milk
t2: Beef, Cheese
t3: Cheese, Boots
t4: Beef, Chicken, Cheese
t5: Beef, Chicken, Clothes, Cheese, Milk
t6: Chicken, Clothes, Milk
t7: Chicken, Milk, Clothes

s = 30%
c= 80%,
Règles:

Chicken, Clothes →Milk [sup = 3/7, conf = 3/3]

Est valide : support is 42.84% (> 30%) et confidence = 100% (>80%).

Clothes →Milk, Chicken [sup = 3/7, conf = 3/3]  valide

Il y a bien sure d'autres règles.

Donc, la démarche d'extraction des règles d'association contenues dans une


table de transaction d'items T deux se passe en deux étapes:

- Etape1: Extraction des motifs fréquents (support min s1)


- Etape2: Extractions des règles d'association à partir des motifs
fréquents (support min s2 et confiance min c)

L'étape2 est réalisé ainsi:


Pour tout motif fréquent f
Pour tout sous motif h de f
support (f) f.count
Si confiance(f-h h) =support = ≥ c
(f−h) f−h .count

Alors générer règle : (f-h)  h


Finsi
Finpour
Finpour

12 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.


Chapitre 2 Extraction Automatique des Motifs et Règles
d'Associations dans les Données Structurées: BDD

Définition: Les règles qui dépassent un minimum de support et un minimum de


confidence sont appelées règles solides (fortes).

Définition: Un motif est dit rare (Infrequent) si son support est inférieur ou
égal à un support maximum (noté sMax).

Ce genre de connaissance est valable aussi bien pour les motifs que pour les
règles d’associations.

Les motifs rares sont utiles dans le diagnostique de données de diverses sortes:
ex. Médecine, sismologie.

Références Utiles/Utilisées :
[D’Aubigny, 2001] Gérard D’Aubigny, Discussion et commentaires. Data mining et
,)statistique, Journal de la société française de statistique, tome 142, no 1 (2001
p. 37-52.
[Cugliari, 2015 ] Jairo Cugliari, Fouille de Données, Master 2 IDS-Kharkiv, S2
2014-2015, Université Lumière-Lyon2.
[Sumathi & Sivanandam, ] Introduction to Data Mining and its Applications,
Studies in Computational Intelligence, Volume 29, Springer-Verlag Berlin
Heidelberg 2006.
[Preux, 2011] Ph. Preux, Fouille de données, Notes de cours, Université de Lille 3.
[Tuffery, 2014] Stéphane Tuffery, Cours de data mining, M2 Ingénierie
économique et financière, Université Rennes 1, 2014.
[Lieber, 2007] Jean Lieber, Fouille de données : Notes de cours, 2007.
[Zaki & Meira, 2014] Mohammed J. Zaki & Wagner Meira Jr, Data mining and
analysis: Fundamental Concepts and Algorithms, Cambridge University Press,
2014.

13 Séminaire M2-RSD à distance – Envoi 1- Période: Avril 2020.

Vous aimerez peut-être aussi