Association - LAMSADE - Université Paris

publicité
Data Mining/ Machine Learning
Association
Jamal Atif
[email protected]
M2 ID
Université Paris-Dauphine
2015-2016
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
1 / 63
Introduction
Plan
1
Introduction
2
Approche
Notions de base
Sous-ensembles fréquents
Algorithme A Priori
Calcul des supports
Génération des règles
3
Conclusion
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
2 / 63
Introduction
Motivation
Domaine de la grande distribution, marketing
Analyse du panier de la ménagère (Market Basket Model)
Objectifs :
Identifier les produits qui sont achetés ensemble par un nombre suffisant de
consommateurs.
Etudier ce que les clients achètent pour obtenir des informations sur qui sont les
clients et pourquoi ils font certains achats.
Transcrire la connaissance extraite sous la forme de règles d’association (Si ...
alors ...).
Approche :
Analyser les tickets de caisse pour détecter les dépendances entre produits, e.g.
quels produits tendent à être achetés ensemble.
Exemple de règles
Si un client achète des plantes alors il achète du terreau.
Si un client achète du poisson et du citron alors il achète du vin blanc.
Si un client achète une télévision alors il achètera un lecteur de dvd dans un
mois.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
3 / 63
Introduction
Motivation : Exemple
Entrée : Un ensemble de tickets de caisse
Une observation = un caddie, un ticket de caisse.
Non prise en compte de la fréquence des produits.
Un grand nombre de produits, un grand nombre de caddies (petit sous
ensemble de l’ensemble de produits).
Sortie : Des règles
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
4 / 63
Introduction
Approche
Méthode non supervisée : on ne dispose en entrée que de la description des
achats.
Une approche à deux étapes
Calcul des ensemble fréquents : notion à définir.
Générer les règles d’association
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
5 / 63
Introduction
Domaines d’application
Tout domaine où l’on veut rechercher des groupements potentiels de produits
ou de services.
Commerce, Grande distribution
Domaine médical
Détection de copies, plagiarisme
Réseaux sociaux
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
6 / 63
Introduction
Domaines d’application
Commerce, grande distribution
Items : Produits .
Baskets : Ensemble de produits achetés ensemble.
Beaucoup d’applications : prix, promotion, positionnement des produits,
...
Recommandation : Les personnes qui ont acheté X ont aussi acheté Y .
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
7 / 63
Introduction
Domaines d’application
Domaine médical
Items : Médicaments, traitements, effets
Baskets : Patients
Recherche de complications dues à des associations de traitements.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
8 / 63
Introduction
Domaines d’application
Réseaux sociaux
Trouver des communautés dans un graphe
Items : Voisins sortants
Baskets : Noeuds
Recherche de sous-graphes bipartites Ks,t dans un grand graphe
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
9 / 63
Approche
Notions de bases
Plan
1
Introduction
2
Approche
Notions de base
Sous-ensembles fréquents
Algorithme A Priori
Calcul des supports
Génération des règles
3
Conclusion
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
10 / 63
Approche
Notions de bases
Données d’entrées
Exemple (Gilleron & Tommasi, d’après B. Espinasse)
Tableaux de transactions = tableau binaire
On a prédéfini une classification des articles.
Les données d’entrée sont constituées par une liste d’achats.
Un achat est une liste d’articles (de taille variable)
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
11 / 63
Approche
Notions de bases
Données d’entrées
Tableaux de transactions = tableau binaire
Si les données d’entrées ne sont pas binaires, on fait un codage disjonctif
complet
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
12 / 63
Approche
Notions de bases
Tableau de co-occurences
Liste des achats
Tableau de co-occurences
Construction du tableau de cooccurrence entre produits : combien de fois deux
produits ont été achetés ensemble
Permet de déterminer avec quelle fréquence 2 produits se rencontrent dans un même
achat.
Des observations qui suggèrent des règles de la forme Si produit A alors produit D
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
13 / 63
Approche
Notions de bases
Notion de support
Une règle n’est pas toujours vraie : besoins d’indicateurs.
Support d’un sous ensemble I
Fréquence d’apparition simultanée des éléments de I dans la liste des
transactions (ou achats)=nombre de paniers dans lesquels apparaissent tous
les éléments de I.
Occ(I)
support(I) =
N
avec Occ(I) le nombre de transactions contenant I et N le nombre total de
transactions dans la base.
Etant donné un seuil sur le support s, alors l’ensemble des sous ensembles
d’éléments qui apparaissent au moins dans s paniers sont des
sous-ensembles fréquents.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
14 / 63
Approche
Notions de bases
Notion de support
Exemple
Elements : { lait, coca, pepsi, bière, jus de fruit }
seuil de support = 3 (apparition dans 3 paniers au moins)
Paniers :
B1 = {m, c, b}, B2 = {m, p, j}, B3 = {m, b}
B4 = {c, j}, B5 = {m, p, b}, B6 = {m, c, b, j}
B7 = {c, b, j}, B8 = {b, c}
Sous-ensembles fréquents : {m}, {c}, {b}, {j}, {m, b}, {b, c}, {c, j}.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
15 / 63
Approche
Notions de bases
Régles d’association
Règle Si ... alors ... sur le contenu du panier.
Notation {i1 , i2 , ..., ik } → j
Signifie Si un panier contient tous les éléments i1 , i2 , ...ik alors il est
vraisemblable qu’il contienne j.
En pratique, beaucoup de règles. On ne veut trouver que les plus intéressantes
⇒ notion de confiance.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
16 / 63
Approche
Notions de bases
Notion de confiance
Confiance d’une règle d’association
Probabilité de j sachant I = {i1 , i2 , ..., ik }.
conf (I → j) =
support(I ∪ j)
support(I)
Rapport entre le nombre de transactions où tous les éléments figurant
dans la règle (prémisses et conclusion) apparaissent et le nombre de
transactions où les éléments de la prémisse apparaissent.
Seules les règles ayant une certaine valeur de support et de confiance sont
intéressantes.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
17 / 63
Approche
Notions de bases
Notion de support et de confiance : retour à l’exemple
Exemple : support
On considère trois règles R1 = {A} → B, R2 = {A} → D,R3 = {D} → A.
Supports des règles :
support(R1 ) = support({A, B}) = 51 = 0.2
support(R2 ) = support(R3 ) = support({A, B}) =
Jamal Atif (Université Paris-Dauphine)
DL/ML
2
5
= 0.4
2015-2016
18 / 63
Approche
Notions de bases
Notion de support et de confiance : retour à l’exemple
Exemple : confiance
On considère trois règles R1 = {A} → B, R2 = {A} → D,R3 = {D} → A.
Confiance des règles :
conf (R1 ) = conf ({A} → B) =
conf (R2 ) = conf ({A} → D) =
conf (R3 ) = conf ({D} → A) =
support({A,B})
support({A})
support({A,D})
support({A})
support({A,D})
support({D})
=
=
=
0.2
0.8
0.4
0.8
0.4
0.6
= 0.25
= 0.5
= 0.67
On préfère dont R3 à R2 à R1 .
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
19 / 63
Approche
Notions de bases
Support et confiance : pas toujours suffisant
Exemple
On considère trois articles A, B, C et leur fréquence d’apparition
Confiance des règles :
conf ({A, B} → C) = 0.2
conf ({A, C} → B) = 0.25
conf ({B, C} → A) = 0.33
{B, C} → A) a la plus grande confiance : Si B et C sont simultanément dans un
panier, alors A a une probabilité de 0.33 d’y apparaitre.
Mais A apparaı̂t dans 45% des achats.
Il vaut mieux prédire A sans autre information que prédire la règle 3.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
20 / 63
Approche
Notions de bases
Notion d’amélioration
Amélioration
L’amélioration d’une règle d’association I → j est le rapport entre la confiance
de la règle et la fraction d’observations qui contiennent j.
amelioration(I → j) =
conf (I → j)
P r(j)
Une règle est intéressante quand son amélioration est supérieure à 1.
Retour à l’exemple
0.2
0.4 = 0.5
0.25
= 0.425
= 0.59
0.33
= 0.45 = 0.74
0.55
0.425 = 1.3
amelioration({A, B} → C) =
amelioration({A, C} → B)
amelioration({B, C} → A)
amelioration({A} → B) =
La règle {A} → B est la meilleure (en général, celle qui donne le moins
d’articles)
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
21 / 63
Approche
Notions de bases
Notion d’intérêt
Intérêt d’une règle
L’intérêt d’une règle d’association I → j est la différence entre sa confiance et
la fraction d’observations qui contiennent j.
Interet(I → j) = conf (I → j) − P r(j)
Les règles intéressantes sont celles qui ont des valeurs élevées (positives ou
négatives) de valeurs d’intérêt (supérieures à 0.5).
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
22 / 63
Approche
Notions de bases
Extraction des règles d’association
Trouver toutes les règles d’association avec un support ≥ s et une confiance
≥ c (avec s et c fixés par l’analyste)
Deux étapes
Extraction des ensembles fréquents I
support(I) > s
Génération des règles r d’association valides (conf (r) > c)
Pour chaque sous-ensemble A de I, générer la règle A → I|A
Comme I est fréquent, A est aussi fréquent.
Variante 1 : passe unique pour calculer la confiance de la règle
Variante 2 : Si {A, B, C} → D est sous le seuil de confiance, il en est de
même pour {A, B} → C, D
Possibilité de générer des règles à partir de plus petites.
Renvoyer les règles au dessus du seuil de confiance.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
23 / 63
Approche
Sous-ensembles fréquents
Plan
1
Introduction
2
Approche
Notions de base
Sous-ensembles fréquents
Algorithme A Priori
Calcul des supports
Génération des règles
3
Conclusion
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
24 / 63
Approche
Sous-ensembles fréquents
Ordre, borne sup ,borne inf
Un ensemble E est ordonné s’il est muni d’une relation d’ordre binaire
(≤), reflexive, antisymétrique et transitive.
Un majorant (resp. minorant) d’une partie A de E est un élément x tel
que ∀y ∈ A, y ≤ x (resp. ∀y ∈ A, y ≥ x).
La borne supérieure (resp. borne inférieure) d’une partie A est le plus
petit (resp. plus grand) des majorants (resp. minorants). Elle n’existe pas
forcement.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
25 / 63
Approche
Sous-ensembles fréquents
Treillis
Un treillis est un ensemble dans lequel chaque couple d’éléments possède
une borne supérieure et une borne inférieure.
Si une seule des deux propriétés est vérifiée, on parle de demi-treillis.
L’ensemble des mots fréquents forme un demi-treillis :
L’intersection de deux ensembles de mots fréquents est fréquente.
L’union de deux ensembles de mots non fréquents est non fréquente.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
26 / 63
Approche
Sous-ensembles fréquents
Treillis : exemple
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
27 / 63
Approche
Sous-ensembles fréquents
Treillis : exemple
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
28 / 63
Approche
Sous-ensembles fréquents
Recherche des ensembles fréquents : aspect
algorithmique
On veut trouver les ensembles fréquents. Pour cela, on doit les compter et
donc on doit les générer.
Ordre de grandeur du problème :
20!
= 190 paires d’éléments :
Pour un panier de 20 éléments, il y a 2!18!
peuvent être générer facilement par des boucles for imbriquées.
Si on cherche des sous-ensembles de taille plus grande k, cela prend
k
approximativement nk! de temps pour générer tous les ensembles de taille
k d’un panier contenant n éléments.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
29 / 63
Approche
Sous-ensembles fréquents
Recherche des ensembles fréquents : aspect
algorithmique
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
30 / 63
Approche
Sous-ensembles fréquents
Recherche des ensembles fréquents : aspect
algorithmique
Approche naı̈ve
Chaque élément du treillis est un candidat.
Calcul du support de chaque candidat en scannant la base de données des
transactions.
Mise en correspondance de chaque transaction avec chaque candidat
Complexité : O(N M w) avec M = 2d .
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
31 / 63
Approche
Sous-ensembles fréquents
Recherche des ensembles fréquents : aspect
algorithmique
Quelques stratégies
Réduction du nombre de candidats (M ) : utilisation de techniques
d’élagage (Algorithme A Priori)
Réduction du nombre de transactions (N ) : Algorithmes DHP ou
vertical-based.
Réduction du nombre de comparaisons (N M ) :
Utilisation de structures de données efficaces pour le stockage des
candidats ou des transactions.
Pas besoin de mettre en correspondance chaque candidat avec chaque
transaction.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
32 / 63
Approche
Sous-ensembles fréquents
Plan
1
Introduction
2
Approche
Notions de base
Sous-ensembles fréquents
Algorithme A Priori
Calcul des supports
Génération des règles
3
Conclusion
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
33 / 63
Approche
Sous-ensembles fréquents
Propriété de monotonie des ensembles fréquents
Réduction du nombre de candidats.
Monotonie
Les sous-ensembles d’un ensemble fréquent sont fréquents.
Si un ensemble d’éléments I apparaı̂t au moins s fois, il en est de même
pour chaque sous ensemble J de I (J ⊆ I).
Contraposée pour les pairs
Si un élément n’apparait pas dans s paniers, alors aucune paire comprenant i
n’apparaitra dans s paniers.
Propriété de la fonction support
∀X, Y, (X ⊆ Y ) ⇒ support(X) ≥ support(Y )
Le support d’un ensemble d’éléments n’excède jamais le support de ses
sous-ensembles.
Propriété d’anti-monotonie de la fonction support.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
34 / 63
Approche
Sous-ensembles fréquents
Propriété de monotonie
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
35 / 63
Approche
Sous-ensembles fréquents
Algorithme A-Priori
Proposé par Agrawal et Srikant en 1994 : premier algorithme de recherche de règles
d’association incluant des étapes d’élagage pour tenir compte de la croissance exponentielle
du nombre d’ensembles d’éléments candidats.
Principe
Les ensembles de cardinal k sont générés à partir de ceux de cardinal k − 1
Une fois les ensembles de cardinal k générés, calcul de leur support et étape de filtrage
pour ne conserver que les fréquents.
Plus précisemment
Soit Ck l’ensemble des ensembles d’éléments de taille k et Fk l’ensemble des ensembles
d’éléments fréquents de taille k.
L’algorithme commence pour déterminer le support de chaque élément (∈ C1 ) :
initialisation de F1
L’algorithme génère itérativement les ensembles d’éléments fréquents de taille k à
partir des ensembles d’éléments de taille k − 1 obtenus à l’étape précédente.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
36 / 63
Approche
Sous-ensembles fréquents
Algorithme A-Priori. Illustration
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
37 / 63
Approche
Sous-ensembles fréquents
Algorithme A-Priori- Génération
On fait l’union de tous les ensembles de mots n’ayant qu’un seul élément
différent.
Seuls les ensembles dont tous les sous-ensembles sont fréquents sont
conservés.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
38 / 63
Approche
Sous-ensembles fréquents
Algorithme A-Priori- Génération
Exemple avec s =
2
5
Support({A}) = 1 , Support({B}) = 4, Support({C}) = 2, Support({D}) = 2
F1 = {{B}, {C}, {D}}
C2 = {{B, C}, {C, D}, {B, D}}
Support({B, C}) = 1 , Support({B, D}) = 2, Support({C, D}) = 0
F2 = {{B, D}}
C3 = ∅
F = {{B}, {C}, {D}, {B, D}}
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
39 / 63
Approche
Sous-ensembles fréquents
Algorithme A-Priori- Génération
Data : F : ensemble d’éléments fréquents de cardinal k
C ← {c = f1 ∪ f2 , (f1 , f2 ) ∈ F × F, card(c) = k + 1}
for c ∈ C do
for s ⊂ c, card(s) = k do
if s 6∈ F then
C ← C\{c}
return C
Algorithme 1 : APRIORI-GEN(F )
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
40 / 63
Approche
Sous-ensembles fréquents
Algorithme A-Priori
Data : T : ensemble des observations, s seuil sur le support
S
Result : k Fk
C1 ← {singletons}
k←1
while Ck 6= ∅ do
for c ∈ Ck do
for t ∈ T do
if c ⊂ t then
support(c) ← support(c) + 1
Fk = {c ∈ Ck , support(c) ≥ s}
k ←k+1
Ck ← AP RIORI − GEN (Fk−1 )
S
return
k Fk
Algorithme 2 : APRIORI(T, s)
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
41 / 63
Approche
Sous-ensembles fréquents
Algorithme A-Priori : exemple
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
42 / 63
Approche
Sous-ensembles fréquents
Plan
1
Introduction
2
Approche
Notions de base
Sous-ensembles fréquents
Algorithme A Priori
Calcul des supports
Génération des règles
3
Conclusion
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
43 / 63
Approche
Sous-ensembles fréquents
Calcul du support de chaque sous-ensemble fréquent
Approche naı̈ve : comparaison de chaque transaction avec chaque candidat et
mise à jour d’un compteur.
⇒ il faut réduire le nombre de comparaisons.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
44 / 63
Approche
Sous-ensembles fréquents
Calcul du support de chaque sous-ensemble fréquent
Alternative :Enumération de chaque sous-ensemble contenu dans chaque transaction et mise
à jour du compteur pour celui-ci.
1|2356| représente un ensemble à 3 éléments dont le préfixe est 1 suivi par 2 autres éléments
choisis dans |2356|
Exemple de génération des sous ensembles de 3 éléments pour une transaction à 5 éléments.
(En considérant que les éléments sont triés en ordre lexicographique croissant.)
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
45 / 63
Approche
Sous-ensembles fréquents
Réduction du nombre de comparaisons
Avec une table de hachage.
Compter les occurrences des candidats : mise en correspondance
Scan de la base des transaction pour déterminer le support de chaque
candidat.
Utilisation d’une table de hachage pour stocker les candidats pour réduire
le nombre de comparaisons : au lieu de faire la correspondance entre
chaque transaction et chaque candidat, on met la transaction en
correspondance avec les candidats déjà contenus dans la table de hachage.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
46 / 63
Approche
Sous-ensembles fréquents
Comptage du support avec une structure de hachage :
Principe
Dans l’algorithme A Priori, les ensembles candidats sont partitionnés en
paquets par hachage et stockés dans un arbre de hachage.
Lors du comptage, les ensembles contenus dans les transactions sont aussi
hachés dans leur paquet.
Permet de ne comparer que les ensembles d’un même paquet.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
47 / 63
Approche
Sous-ensembles fréquents
Comptage du support avec une structure de hachage :
Génération de l’arbre de hachage
On suppose 15 ensembles de 3 élements :
{1, 4, 5}, {1, 2, 4}, {4, 5, 7}, {1, 2, 5}, {4, 5, 8}, {1, 5, 9}, {1, 3, 6}, {2, 3, 4}, {5, 6, 7}, {3, 4, 5}, {3
On a la fonction de hachage : h(p) = pmod3
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
48 / 63
Approche
Sous-ensembles fréquents
Comptage du support avec une structure de hachage :
Génération de l’arbre de hachage
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
49 / 63
Approche
Sous-ensembles fréquents
Comptage du support avec une structure de hachage :
Génération de l’arbre de hachage
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
50 / 63
Approche
Sous-ensembles fréquents
Comptage du support avec une structure de hachage :
Génération de l’arbre de hachage
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
51 / 63
Approche
Sous-ensembles fréquents
Comptage du support avec une structure de hachage :
Mise en correspondance avec 1 transaction
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
52 / 63
Approche
Sous-ensembles fréquents
Comptage du support avec une structure de hachage :
Mise en correspondance avec 1 transaction
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
53 / 63
Approche
Sous-ensembles fréquents
Comptage du support avec une structure de hachage :
Mise en correspondance avec 1 transaction
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
54 / 63
Approche
Sous-ensembles fréquents
Algorithme A Priori : facteurs impactant la complexité
Facteurs
Choix du seuil s sur le support.
Nombre d’ensembles candidats et longueur maximale des ensembles
fréquents.
Nombre d’éléments dans le jeu de données.
Taille du jeu de données, i.e. nombre de transactions.
Longueur moyenne d’une transaction.
longueur maximale des ensembles fréquents et traversée de l’arbre de
hachage.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
55 / 63
Approche
Génération des règles
Plan
1
Introduction
2
Approche
Notions de base
Sous-ensembles fréquents
Algorithme A Priori
Calcul des supports
Génération des règles
3
Conclusion
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
56 / 63
Approche
Génération des règles
Génération des règles d’association
Principe
A partir des k-ensembles fréquents.
Pour chaque ensemble fréquent I, générer tous les sous-ensembles S non
vides.
Pour chaque sous-ensemble S, si conf (S → L − S) > c, alors générer la
règle S → L − S.
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
57 / 63
Approche
Génération des règles
Génération des règles d’association
Exemple
Ensemble {2, 3, 5}.
Sous-ensembles non vides : {2}, {3}, {5}, {2, 3}, {3, 5}, {2, 5}
Confiance :
conf (I → j) =
support(I ∪ j)
support(I)
Règles :
{2, 3} → 5,
{2, 5} → 3,
{3, 5} → 2,
{2} → 3, 5,
{3} → 2, 5,
{5} → 2, 3,
conf
conf
conf
conf
conf
conf
=
=
=
=
=
=
2
2
2
3
2
2
2
3
2
3
2
3
Jamal Atif (Université Paris-Dauphine)
=
=
=
=
=
=
1
0.66
1
0.66
0.66
0.66
DL/ML
2015-2016
58 / 63
Approche
Génération des règles
Génération des règles d’association
Complexité
Si |I| = k, alors il y a 2k − 2 règles candidates (en ignorant I → ∅ et ∅ → I)
Comment rendre la génération efficace ?
La fonction de confiance n’a pas la propriété d’anti-monotonie en général
conf (ABC → D) peut être plus grand ou plus petit que conf (AB → D)
Mais, la confiance des règles générées par le même ensemble respecte la
propriété d’anti-monotonie.
Pour {A, B, C, D}, conf (ABC → D) ≥ conf (AB → CD) ≥ conf (A → BCD).
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
59 / 63
Approche
Génération des règles
Génération des règles d’association avec l’algorithme A
Priori
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
60 / 63
Approche
Génération des règles
Génération des règles d’association avec l’algorithme A
Priori
Principe
Les règles candidates sont générées en fusionnant deux règles qui
partagent le même préfixe dans la partie conclusion.
La fusion de CD → AB et de BD → AC produit D → ABC.
Couper la règle D → ABC si son sous ensemble AD → BC n’a pas une
confiance élevée (i.e. au dessus du seuil).
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
61 / 63
Conclusion
Plan
1
Introduction
2
Approche
Notions de base
Sous-ensembles fréquents
Algorithme A Priori
Calcul des supports
Génération des règles
3
Conclusion
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
62 / 63
Conclusion
Conlusion
Conclusion sur les règles d’association
Résultats clairs : les règles d’association sont faciles à interpréter, à
utiliser pour des applications concrètes.
Apprentissage non supervisé : elles ne nécessitent pas d’autre information
qu’une classification en articles et de la donnée d’une liste d’articles.
Achats de taille variable : méthode qui permet de prendre en entrée des
transactions de taille variable.
Méthode simple : disponible dans la plupart des utilitaires de data mining.
De nombreuses extensions :
Améliorations de A Priori.
Introduction du temps : gestion de séries temporelles
Jamal Atif (Université Paris-Dauphine)
DL/ML
2015-2016
63 / 63
Téléchargement