Beruflich Dokumente
Kultur Dokumente
On considère un ensemble d'items I = {i1, i2, … , in}. Un sous-ensemble de I est appelé itemset. On
considère un ensemble d'itemsets ou base de transactions T = {t1, t2, … , tm}. Un itemset A est dit fréquent
dans T, s'il est contenu dans un nombre de transactions de T supérieur ou égal à un seuil s.
2 - Une règle d'association ‘’certaine’’ X ⇒ Y entre deux itemsets X et Y, signifie que toute transaction
qui contient X contient aussi Y (Toute personne qui achète X achète aussi Y).
Donner des exemples d'application des règles d'association certaines pour la recommandation sur
un site de vente en ligne.
5 - Déduire des questions 3 et 4, deux contraintes qu’on peut imposer aux règles d'association. Dire
pourquoi les règles vérifiant ces contraintes peuvent être qualifiées de canoniques.
6 - Pour que ce calcul vaille la peine, il faut que ces coûts puissent être amortis. Proposer un critère qui
modélise la valeur économique d’une règle d’association certaine.
7.1 Dire pourquoi la définition d’une règle d’association qui utilise l'expression « toute transaction qui
contient X » n’est pas raisonnable dans un contexte applicatif ?
Indication : Donner un exemple où cette définition n’est pas vraie alors que le fait de savoir qu’un client
achète ensemble les articles de X permet de le prospecter avantageusement pour acheter les articles de Y.
Dans la suite, on dira que XY, XY = , est une règle d’association de support s (entier naturel) et
confiance c (comprise entre 0 et 1), si
Freq(X Y) s
Freq(X Y)/Freq(X) c
Freq(A) désigne le nombre de transactions contenant un itemset A.
Dire pourquoi ces critères permettent de mesurer la qualité, d’une règle d’association.
On s'intéresse maintenant à l’étape 1 consacrée au calcul de tous les itemsets ayant une fréquence au moins
égale à s. On note Lk les itemsets fréquents de taille k.
On considère pour l'étape 1, l'approche “brute force” qui consiste à examiner systématiquement l'ensemble
des parties de I (noté 2I ), et à comparer ces parties aux éléments de T pour déterminer les itemsets
fréquents:
8 - Décrire une méthode très simple pour l’énumération des parties de I (sans vous soucier de l’efficacité).
9 - Sachant que l’ensemble T des transactions ne peut pas tenir en mémoire centrale, lequel des deux
schémas ci-dessous est le plus efficace ?
(Schéma 1) (Schéma 2)
Initialisation Initialisation
début début
… …
fin ; fin ;
11 – Déduire qu’il n'est pas nécessaire de balayer toutes les parties de I pour déterminer les itemsets
fréquents.
On remarque que tout sous-ensemble d’un itemset fréquent Lk est aussi fréquent. Cette propriété
appelée anti-monotonie se formule aussi en disant que si X n’est pas fréquent, alors tout sous-
ensemble Y contenant X n’est pas fréquent.
Projet1_Règles_Association_Avril2018
12 - Donner une condition nécessaire (mais non suffisante) basée sur k tests d’appartenance à Lk-1, pour
qu’un itemset X de taille k, soit fréquent.
13 - Montrer que, par utilisation de l’anti monotonie, on peut pour le calcul de Lk, générer par jointure à
partir de Lk-1, un ensemble PCk de pré-candidats de taille k et donc réduire l’ensemble des itemsets de taille
k à examiner.
Indication : tout pré-candidat les k conditions mises en évidence dans la question 12.
14.a Dire comment filtrer les candidats PCk pour obtenir un ensemble de candidats Ck plus petit que PCk,
dont les itemsets vérifient les k conditions de la question 12.
Le calcul des pré-candidats et des candidats a évidemment un coût qu’il faut comparer aux parcours de T
qu’on économise.
14.b Faire une analyse pour faire ressortir l’intérêt de passer par PCk et Ck pour calculer Lk.
15 – Dire comment procéder pour le calcul des pré-candidats lorsque Lk-1 est organisé en liste chaînée.
16 - Proposer une structure de données en arbre (trie) qui facilite le calcul des pré-candidats.
17 – Donner la complexité en nombre d’opérations, du calcul de l’ensemble PCk des pré-candidats de taille
k. N.B. On précisera le choix des paramètres utilisés pour cette évaluation.
18 – Dire pourquoi il est avantageux d’organiser Lk-1 dans une table de hachage pour faciliter le filtrage des
pré-candidats en vue d’obtenir les candidats ?
Les deux astuces introduites plus haut sont à la base de l'algorithme Apriori.
20 - Expliquer les algorithmes ci-dessous pour le calcul des itemsets fréquents et des règles d’association
(R. Agrawal et R. Srikant).
Projet1_Règles_Association_Avril2018
21 - Donner la complexité en nombre d’opérations de Apriori avec les structures de données de votre
choix, en fonction des tailles de Lk-1, PCk, Ck, M = T (taille de T), m = T, n = I.
22 - On désire réduire le nombre d’itemsets à traiter tout en maintenant intacte la capacité à détecter tous
les itemsets fréquents. Pour cela on considère deux itemsets X et Y fréquents et de même fréquence, tels
que X Y. De ces deux itemsets, lequel faut-il conserver ?
23 - On appelle itemset fermé un itemset maximal pour l’inclusion, parmi les itemsets de même
fréquence. Montrer que le plus petit itemset fermé contenant X est l’intersection de toutes les transactions
contenant X.
24 - Montrer que les itemsets fréquents fermés permettent de déduire tous les itemsets fréquents, avec
leurs fréquences.
26 - Montrer que les itemsets fréquents maximaux permettent de déduire tous les itemsets fréquents, mais
sans leurs fréquences.
28 - Donner pour l'exemple ci-dessous (on prendra le seuil s = 2) tiré de l’article de Uno et al. :
o le treillis des parties de I
o les itemsets fréquents, les itemsets fréquents maximaux, les itemsets fréquents fermés.
N° de transaction Transaction
Calcul des règles d’association
1
30 – Expliquer comment on peut à partir de la règle XY, générer de manière récursive toutes les règles
de partie gauche incluse dans X, en diminuant au fur et à mesure la partie gauche au profit de la partie
droite. N.B. On pourra illustrer par un arbre
32 – Comment s’obtient alors la génération de toutes les règles d’association associées à L ?
33 – Expliquer comment on peut à partir de la règle XY, générer de manière récursive toutes les règles
dont la partie droite contient Y, en augmentant au fur et à mesure la partie droite au détriment de la partie
gauche. N.B. On pourra illustrer par un arbre.
Projet1_Règles_Association_Avril2018
31 – Donner la procédure récursive correspondante.
32 – Dire pourquoi, dans la génération de règles associées à L, la propriété d’anti monotonie s’applique
aux parties droites de règles mais pas aux parties gauches.
33 - Donner un algorithme Récursif pour le calcul des règles d’association obtenues à partir d’une règle
XY par augmentation progressive de la partie droite, et qui utilise Apriori_Gen.
On s’intéresse maintenant à l’algorithme efficace LCM (Linear Closed itemsets Mining) proposé par
Takeaki Uno et al. pour le calcul des itemsets fréquents fermés.
34 – Lire dans cet article la méthode de construction d’un ensemble infini d’instances avec n items et une
base contenant m transactions, pour lesquelles il y a O(m2) itemsets fréquents fermés et un nombre
d’itemsets fréquents exponentiel en n et m. Vous exposerez ensuite de manière abrégée, l’idée simple qui a
guidé cette construction.
Cet algorithme a été baptisé LCM (Linear time Closed pattern Miner). Il calcule les itemsets fréquents
fermés en temps linéaire, c-à-d en temps O(F), où F désigne l’ensemble des itemsets fréquents fermés. On
note dans la suite :
35 - Montrer que Clo(X) est l’intersection de toutes les transactions contenant X, et indiquer un exemple en
mathématiques, où la notion de fermé se définit de manière analogue.
Le principe de LCM est de générer successivement et uniquement les itemsets fermés. A cet effet on
appelle noyau d’un itemset fermé P, l’item Kernel(P) = min j : Clo(P(j)) = P . Il correspond à l’ordre du
plus petit préfixe de P dont la fermeture est P. LCM procède ainsi qu’il suit pour générer l’ensemble les
itemsets fermés contenant un itemset fermé P :
Pré-condition : aucune
Projet1_Règles_Association_Avril2018
37 – Donner deux propriétés qu’il suffit de démontrer pour établir que LCM résout le problème en temps
linéaire ?
Question 39 : Dans la pratique, un ticket de caisse contient pour chaque produit, le nombre d’articles
achetés. Montrer qu’on peut traiter cette information supplémentaire :
soit en définissant une nouvelle famille d’items atomiques, ce qui permet de maintenir les mêmes
algorithmes
soit en adoptant comme items des couples (produit, nombre) tout en modifiant les notions
d’inclusion et de fréquence
Question 40 : Rechercher dans la littérature les généralisations du problème : sous-abres fréquents (Thèse
d’Alexandre Termier), …
Références de base
Rakesh Agrawal and Ramakrishnan Srikant (1994). Fast Algorithms for Mining Association Rules .
Dans Proceedings of the 20th VLDB Conference, Santiago, Chile.
Takeaki Uno, Tatsuya Asai, Yuzo Uchida, and Hiroki Arimura (2004). An Efficient Algorithm for
Enumerating Closed Patterns in Transaction Databases. E. Suzuki and S. Arikawa (Eds.) : DS 2004, LNAI
3245. Pp. 16-31. Springer Verlag Berlin Heidelberg.
Projet1_Règles_Association_Avril2018