|
UNIVERSITE DE TUNIS EL MANAR FACULTE DES
SCIENCES DE TUNIS
|
|
|
|
ECOLE DOCTORALE EN INFORMATIQUE
F
MEMOIRE DE MASTERE
présenté en vue de l'obtention
du Diplome de Mastere en In formatique
par
Tarek HAMROUNI
Maitrise en Informatique, FS de Tunis)
Extraction des bases
génériques
informatives de règles sans calcul
de fermetures
soutenu le 14 juillet 2005, devant le jury d'examen
MM. Habib OUNELLI Président
Mohamed Mohsen GAMMOUDI Membre
Yahya SLIMANI Directeur du memoire
Sadok BEN YAHIA Invite
Dedicaces
Ce travail est dedie a mes Maitres, rues
parents et ma famille.
Qu'ils trouvent ici le Mmoignage de ma gratitude et de
mon respect.
REMERCIEMENTS
C'est avec un grand plaisir, que j'exprime ici ma
reconnaissance a tous ceux qui m'ont apporté leur aide scientifique,
matérielle ou morale pour mener a terme ce travail.
A Mr. Habib Ounelli, Maitre de Conférences a la
Faculté des Sciences de Tunis, pour avoir accepté de
présider le jury de ce Mastère. Je le remercie pour l'attention
avec laquelle il a lu et évalué ce mémoire.
A Mr. Mohamed Mohsen Gammoudi, Maitre Assistant a la
Faculté des Sciences de Tunis, pour avoir accepté de participer
au jury de ce Mastère. Je le remercie pour l'attention avec laquelle il
a lu et évalué ce mémoire.
A Mr. Yahya Slimani, Maitre de Conférences a la
Faculté des Sciences de Tunis, pour ses orientations, ses conseils et
ses suggestions. J'ai spécialement apprécié son esprit
critique et sa rigueur scientifique. Qu'il trouve ici l'expression de mon
respect.
A Mr. Sadok Ben Yahia, Maitre Assistant a la Faculté
des Sciences de Tunis, qui m'a aidé dans ce travail et en a rendu
possible la réalisation. J'ai particulièrement
apprécié ses qualités humaines indéniables, sa
disponibilité et ses conseils de bon aloi. Qu'il trouve ici l'expression
de ma gratitude.
Je souhaite aussi exprimer toute ma reconnaissance envers Mr.
Yves Bastide, Professeur adjoint a l'Ensar de Rennes, qui s'est montré
toujours disponible a répondre a mes questions et pour avoir mis a ma
disposition les codes sources des algorithmes CLOSE, A-CLOSE et TITANIC
utilisés dans le cadre de ce travail.
Je tiens également a remercier Mlle Yosr Slama,
Assistante a la Faculté des Sciences de Tunis, pour son aide a
l'élaboration de l'étude théorique de la complexité
de l'algorithme proposé.
Je remercie les membres de l'URPAH de la Faculte des Sciences de
Tunis de m'avoir accueilli au sein de leur unite et fait beneficier de leurs
experiences.
Mes remerciements vont aussi a tous ceux qui, non cites ici,
m'ont soutenu tout le long de ce travail.
Résumé: Durant ces
dernières ann'ees, les quantit'es de donn'ees collect'ees, dans divers
domaines d'application de l'informatique, deviennent de plus en plus
importantes. Ces quantit'es ont suscit'e le besoin d'analyse et
d'interpr'etation afin d'en extraire des connaissances utiles. Ce m'emoire
s'int'eresse a` la technique d'extraction de règles associatives, une
des techniques les plus utilis'ees dans le domaine de la fouille de donn'ees.
La première approche permettant la g'en'eration de règles
associatives s'est bas'ee sur l'extraction des itemsets fr'equents. Cependant,
cette approche souffre de deux problèmes majeurs, a` savoir le coüt
de l'extraction des itemsets fr'equents, qui sont n'ecessaires a` la
g'en'eration de règles associatives, et la g'en'eration d'un nombre
important de règles associatives, dont un bon pourcentage est redondant.
Pour rem'edier a` ces problèmes, une nouvelle approche bas'ee sur la
d'ecouverte des itemsets ferm'es fr'equents en utilisant les treillis de
Galois, issus de l'analyse formelle de concepts, a 'et'e
propos'ee. Toutefois, les algorithmes relatifs a` cette nouvelle approche se
sont focalis'es sur la r'esolution du premier problème, sans se soucier
de la construction de la relation d'ordre partiel li'ee a` un treillis de
Galois. Cette relation est une condition sine qua non pour
l'extraction, sans perte d'information, d'un sous-ensemble de règles
associatives, appel'e base g'en'erique. Dans ce cadre, nous avons propos'e un
nouvel algorithme appel'e PRINCE pour la g'en'eration de bases g'en'eriques de
règles associatives. Cet algorithme effectue une exploration par niveau
de l'espace de recherche. Sa principale originalit'e est qu'il est le seul a`
construire la relation d'ordre partiel dans l'objectif d'extraire les bases
g'en'eriques de règles. Pour r'eduire le coüt de cette
construction, la relation d'ordre partiel est maintenue entre l'ensemble des
g'en'erateurs minimaux des itemsets ferm'es fr'equents et non plus entre les
itemsets ferm'es fr'equents. Une structure, appel'ee treillis des
générateurs minimaux, est alors construite a` partir de
laquelle la d'erivation des bases g'en'eriques devient imm'ediate. Les
exp'erimentations que nous avons r'ealis'ees sur diff'erents contextes
d'extraction ont montr'e l'efficacit'e de l'algorithme propos'e,
comparativement a` des algorithmes de r'ef'erence tels que CLOSE, A-CLOSE et
TITANIC.
Mots-clés: Fouille de donn'ees, Analyse
formelle de concepts, Itemsets (ferm'es) fr'equents, Treillis de
Galois, Treillis des générateurs
minimaux, Règles associatives, Base
générique de règles.
Abstract: In the last few years, the amount
of collected data, in various computer science applications, becomes
increasingly significant. These large volumes of data pointed out the need to
analyze them in order to extract useful hidden knowledge. This Master thesis
focusses on the association rule extraction, one of the most popular knowledge
extraction technique. The first approach to extract association rules, uses the
notion of frequent itemsets. However, this approach suffers from two major
problems, namely the cost of extracting frequent itemsets and the high number
of extracted association rules, among which many are redundant. Thus, a new
approach based on Galois lattice uses the notion of frequent closed itemsets
instead the frequent ones. However, algorithms related to this new approach
have only resolved the first problem and have avoid the problem of construction
of the order relation associated to a Galois lattice. This partial order
relation is a sine qua non condition to obtain a subset of all
association rules, without information loss, called generic basis. For this
purpose, we proposed a new algorithm called PRINCE that performs a level-wise
browsing of the search space. Its main originality is that it is the only one
which constructs the partial order in order to extract generic bases. In order
to reduce the cost of this construction, the partial order is maintained
between frequent minimal generators and not between frequent closed itemsets. A
structure called minimal generator lattice is then built, from
which the derivation of the generic association rules becomes straightforward.
Several experimentations of our algorithm have showed the efficiency of the
proposed algorithm, comparatively to well-known algorithms like CLOSE, A-CLOSE
and TITANIC.
Key-words: Data mining, Formal concept
analysis, Galois lattice, Frequent (closed) itemsets, Minimal
generator lattice, Association rules, Generic
rule basis.
Table des matières
Introduction generale
1 Fondements mathematiques pour l'extraction de regles
d'association
|
1 5
|
|
1.1
|
Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
|
5
|
|
1.2
|
Dérivation des regles d'association . . . . . . . . . .
. . . . . . . . . . . . .
|
7
|
|
|
1.2.1 Base de transactions . . . . . . . . . . . . . . . . . .
. . . . . . . .
|
7
|
|
|
1.2.2 Regles d'association . . . . . . . . . . . . . . . . . .
. . . . . . . . .
|
7
|
|
1.3
|
Analyse formelle de concepts . . . . . . . . . . . . . . . . .
. . . . . . . . .
|
9
|
|
|
1.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
|
9
|
|
|
1.3.2 Notion d'ordre partiel . . . . . . . . . . . . . . . . .
. . . . . . . .
|
10
|
|
|
1.3.3 Connexion de Galois . . . . . . . . . . . . . . . . . . .
. . . . . . .
|
12
|
|
|
1.3.4 Itemsets fermés et leurs générateurs
minimaux . . . . . . . . . . . .
|
14
|
|
1.4
|
Dérivation des bases génériques de regles
d'association . . . . . . . . . . .
|
16
|
|
1.5
|
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
|
19
|
2
|
Algorithmes d'extraction des itemsets fermes frequents : Etat de
l'art
|
21
|
|
2.1
|
Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
|
21
|
|
2.2
|
Algorithmes d'extraction des itemsets fermés
fréquents . . . . . . . . . . .
|
22
|
|
|
2.2.1 Les algorithmes de type "Générer-et-tester"
. . . . . . . . . . . . .
|
23
|
|
|
2.2.2 Les algorithmes de type
"Diviser-et-générer" . . . . . . . . . . . . .
|
29
|
|
|
2.2.3 Les algorithmes hybrides . . . . . . . . . . . . . . . .
. . . . . . . .
|
32
|
|
2.3
|
Discussion . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
|
34
|
|
2.4
|
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
|
38
|
3
|
L'algorithme PRINCE
|
39
|
|
3.1
|
Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
|
39
|
|
3.2
|
L'algorithme PRINCE . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
|
40
|
|
|
3.2.1 Détermination des générateurs
minimaux . . . . . . . . . . . . . . .
|
41
|
|
|
3.2.2 Construction du treillis des générateurs
minimaux . . . . . . . . . .
|
46
|
|
|
3.2.3 Extraction des bases génériques
informatives de regles . . . . . . . .
|
50
|
|
3.3
|
Structure de données utilisée . . . . . . . . . .
. . . . . . . . . . . . . . . .
|
55
|
|
3.4
|
Preuves théoriques . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
|
57
|
|
3.5
|
Complexité . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
|
60
|
|
3.6
|
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
|
64
|
4 Ètude experimentale 65
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 65 4.2 Environnement d'expérimentation . . . .
. . . . . . . . . . . . . . . . . . . 66
4.2.1 Environnement materiel et logiciel . . . . . . . . . . . .
. . . . . . . 66
4.2.2 Description des executables . . . . . . . . . . . . . . . .
. . . . . . 66
4.2.3 Bases de test . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 66
4.3 Optimisations et evaluations . . . . . . . . . . . . . . . .
. . . . . . . . . . 68 4.4 Effets de la variation de la mesure minconf . . .
. . . . . . . . . . . . . . . 74 4.5 Comparaisons des coits des
étapes de PRINCE . . . . . . . . . . . . . . . . 75
4.5.1 Bases benchmark . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 76
4.5.2 Bases "pire des cas" . . . . . . . . . . . . . . . . . . .
. . . . . . . 82 4.6 Performances de PRINCE vs. CLOSE, A-CLOSE et TITANIC .
. . . . . . . . 83
4.6.1 Bases benchmark . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 83
4.6.2 Bases "pire des cas" . . . . . . . . . . . . . . . . . . .
. . . . . . . 90
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 93
Conclusion generale 93
Table des figures
1.1 Exemple de contexte formel . . . . . . . . . . . . . . . . .
. . . . . . . . . 9
1.2 Join - Meet . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 11
1.3 Join-irréductible - Meet-irréductible . . . .
. . . . . . . . . . . . . . . . . . 12
3.1 Contexte d'extraction 1C . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 56
3.2 Construction du treillis des generateurs minimaux et le
treillis d'Iceberg
associés au contexte d'extraction 1C pour
minsup2. . . . . . . . . . . . . . 56 3.3 Gauche : La base
générique de regles exactes BG. Droite : La
réduction
transitive des regles approximatives RI. . . . . . . . .
. . . . . . . . . . . . 56 3.4 Exemple d'un trie . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 57
4.1 Exemple d'une base "pire des cas" avec n4 . . . . .
. . . . . . . . . . . . 68 4.2 La structure Itemset-Trie (Gauche) et la
structure IT-BDT (Droite)
associées au contexte d'extraction de la Figure 3.1 . . .
. . . . . . . . . . . 70 4.3 Effet de l'utilisation d'une représentation
compacte de la base sur les per-
formances de PRINCE . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 71 4.4 Effet de l'exécution de la procédure
GEN-ORDRE sur les performances de
PRINCE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 72 4.5 Effet de l'utilisation des 2-itemsets fréquents
non générateurs minimaux
sur les performances de PRINCE . . . . . . . . . . . . . . . .
. . . . . . . . 73 4.6 Effet de l'utilisation des listes prohibées sur
les performances de PRINCE . 74 4.7 Effet de la variation de minconf sur les
performances de PRINCE . . . . . . 75 4.8 Temps d'exécution des
étapes constituant PRINCE pour les bases denses . . 77 4.9 Temps
d'exécution des étapes constituant PRINCE pour les bases
éparses . 82 4.10 Temps d'exécution des étapes constituant
PRINCE pour les bases "pire des
cas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 83 4.11 Les performances de PRINCE vs. CLOSE, A-CLOSE et
TITANIC pour les
bases denses . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 88 4.12 Les performances de PRINCE vs. CLOSE, A-CLOSE et
TITANIC pour les
bases éparses . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 91 4.13 Test de mise a l'échelle de PRINCE
vs. CLOSE, A-CLOSE et TITANIC pour
les bases "pire des cas" . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 92
Liste des tableaux
2.1
|
Caractéristiques des algorithmes CLOSE, A-CLOSE, TITANIC,
CLOSET et
|
|
|
CHARM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
|
37
|
3.1
|
Notations utilisées dans la procédure GEN-GMS . . .
. . . . . . . . . . . .
|
42
|
4.1
|
Description des exécutables des différents
algorithmes . . . . . . . . . . . .
|
66
|
4.2
|
Paramètres des bases synthétiques . . . . . . . . .
. . . . . . . . . . . . . .
|
67
|
4.3
|
Caractéristiques des bases benchmark . . . . . . . . . . .
. . . . . . . . . .
|
67
|
4.4
|
Tableau comparatif des étapes constituant PRINCE pour les
bases denses. .
|
78
|
4.5
|
Tableau comparatif des étapes constituant PRINCE pour les
bases éparses.
|
81
|
4.6
|
Tableau comparatif des étapes constituant PRINCE pour les
bases "pire des
|
|
|
cas". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
|
84
|
4.7
|
Tableau comparatif des résultats expérimentaux de
PRINCE vs. A-CLOSE,
|
|
|
CLOSE et TITANIC pour les bases denses. . . . . . . . . . . . . .
. . . . . .
|
87
|
4.8
|
Tableau comparatif des résultats expérimentaux de
PRINCE vs. A-CLOSE,
|
|
|
CLOSE et TITANIC pour les bases éparses. . . . . . . . . .
. . . . . . . . .
|
94
|
4.9
|
Tableau comparatif des résultats expérimentaux de
PRINCE vs. A-CLOSE,
|
|
|
CLOSE et TITANIC pour les bases "pire des cas". . . . . . . . . .
. . . . . .
|
95
|
Liste des algorithmes
1
|
GEN-GMS
|
43
|
2
|
GEN-GMS-SUIVANT
|
44
|
3
|
GEN-ORDRE
|
50
|
4
|
GEN-BGRS
|
53
|
5
|
BASE-FIRE-CAS
|
69
|
Introduction générale
Il est chaque jour plus facile de collecter des donnees mais
notre capacite a en extraire des informations a forte valeur ajoutee reste
limitee [16]. Ainsi, l'attention des entreprises s'est progressivement
detournee des systemes operationnels, vitaux mais sans valeur ajoutee
concurrentielle reelle. Elle s'est alors portee sur des systemes decisionnels,
sans apport direct en matiere de productivite mais qui contribuent
veritablement a la differenciation strategique de l'entreprise [42]. Afin
d'exploiter ces masses importantes de donnees stockees dans les systemes
decisionnels, la fouille de donnees se propose de donner les outils et/ou
techniques necessaires pour l'extraction de cette connaissance. La fouille de
donnees (ou Data mining) est le domaine de recherche au sein duquel cooperent
statisticiens, specialistes en bases de donnees et en intelligence
artificielle, ou encore chercheurs en conception d'interfaces homme-machine
[16]. Les informations extraites, suite a l'application d'un processus de
fouille de donnees, peuvent prendre plusieurs formes, telles que les regles
d'association, les arbres de decisions, les reseaux de neurones, etc [24,
42].
Dans ce memoire, nous allons nous interesser, en particulier,
a la technique d'extraction de regles d'association. Cette technique a ete
introduite par Agrawal et al. en 1993 [1]. En 1994, Agrawal et al. ont propose
un des premiers algorithmes, appele APRIORI [2], pour l'extraction des regles
d'association a partir de bases de donnees des grandes surfaces commerciales.
Cet algorithme adoptait une strategie d'exploration par niveau de l'espace de
recherche, appelee "Generer-et-tester". Ainsi, le probleme d'extraction des
regles d'association est alors decompose en deux sous-problemes [2] :
1. Extraction des ensembles d'items (ou itemsets) interessants
(ou frequents) pour l'utilisateur, cad presentant une frequence d'apparition
superieure ou egale a un certain seuil minimal fixe par l'utilisateur.
Motivations
L'approche d'extraction des regles d'association -- basee sur
la decouverte des itemsets frequents -- souffre de deux problemes majeurs, a
savoir le coUt de l'extraction des itemsets frequents et surtout la generation
d'un tres grand nombre de regles, et ce meme pour de petites bases de
donnees.
Pour pallier ces inconvenients, une nouvelle approche basee
sur l'extraction des itemsets fermes frequents [48] est apparue. Cette approche
est issue des fondements mathematiques de l'analyse formelle de concepts
introduite par Wille en 1982 [66]. Cette nouvelle approche propose deux
alternatives seduisantes :
1. Une reduction du coUt de l'extraction des itemsets
frequents.
2. Une selection d'un sous-ensemble de toutes les regles
d'association, a partir duquel le reste des regles pourrait etre derive sans
perte d'information. Ce sous-ensemble de regles d'association est communement
appele base generi que.
Cependant, pour extraire ces bases generiques de regles, il faut
prealablement decouvrir trois composantes primordiales, a savoir [9] :
1. Les itemsets fermes frequents ;
2. La liste des generateurs minimaux associes a chaque itemset
ferme frequent ;
3. La relation d'ordre entre les itemsets fermes frequents.
Un survol critique des algorithmes, bases sur l'extraction des
itemsets fermes frequents, montre que les algorithmes existants dans la
litterature ont failli a leurs objectifs [9]. En effet, la quasi-totalite de
ces algorithmes se sont focalises sur l'extraction de la premiere composante,
cad les itemsets fermes frequents, en oubliant les deux dernieres. Seuls les
algorithmes adoptant la strategie "Generer-et-tester" font mieux en permettant
aussi l'extraction des generateurs minimaux, sans se soucier de la construction
de la relation d'ordre partiel. Par consequent, les algorithmes existants n'ont
pas reussi a generer les bases generiques de regles d'association.
Pour remedier aux insuffisances enumerees, nous proposons,
dans ce memoire, un nouvel algorithme, appele PRINCE, permettant l'extraction
des itemsets fermes frequents, leurs generateurs minimaux associes ainsi que
les bases generiques de regles d'association. A cet effet, l'algorithme propose
permet la construction de l'ordre partiel. L'algorithme PRINCE effectue une
exploration par niveau de l'espace de recherche. Sa principale originalite est
qu'il est le seul a construire la relation d'ordre partiel dans l'objectif
d'extraire les bases
generiques de regles. Pour reduire le coUt de cette
construction, la relation d'ordre partiel est maintenue entre l'ensemble des
generateurs minimaux des itemsets fermes frequents et non plus entre les
itemsets fermes frequents. Ceci evite le coUt du calcul des fermetures des
itemsets. Une fois la structure partiellement ordonnee construite, l'extraction
des bases generiques devient immediate.
Structure du memoire
Les resultats de nos travaux de recherche sont synthetises dans
ce memoire qui est compose de quatre chapitres.
Le premier chapitre introduit la technique d'extraction des
regles d'association ainsi que les fondements mathematiques de l'analyse
formelle de concepts. Il definit egalement la connexion de ces fondements avec
le processus d'extraction des bases generiques de regles d'association.
Le deuxieme chapitre presente des algorithmes d'extraction des
itemsets fermes frequents. Ensuite, il presente une etude comparative critique
de ces algorithmes selon des criteres que nous introduisons.
Le troisieme chapitre est consacre a la presentation de
l'algorithme que nous proposons pour l'extraction des trois composantes
permettant la derivation des bases generiques de regles d'association. La
presentation des differentes etapes de l'algorithme PRINCE est donnee. La
demonstration de la validite, la completude et la terminaison ainsi que l'etude
de la complexite theorique de l'algorithme PRINCE seront aussi presentees.
Le quatrieme chapitre presente les experimentations effectuees
sur l'algorithme PRINCE. Ces experimentations sont divisees en deux parties. La
premiere partie s'interesse a l'analyse de quelques optimisations apportees a
notre algorithme ainsi qu'a l'analyse de ses caracteristiques. La deuxieme
partie compare les performances de l'algorithme PRINCE a celles des algorithmes
CLOSE, A-CLOSE et TITANIC.
Chapitre 1
Fondements mathematiques pour
l'extraction de regles d'association
1.1 Introduction
Avec le développement des outils informatiques, nous
avons assisté ces dernières années a un véritable
déluge d'informations stockées dans de grandes bases de
données scientifiques, économiques, financières,
médicales, etc [42]. Le besoin d'interpréter et d'analyser ces
grandes masses de données a suscité beaucoup
d'intérêt. Ainsi, la mise au point de nouvelles techniques
d'analyse est devenue un réel défi pour la communauté
scientifique. Pour répondre a cette pénurie de connaissances sur
les données, de nouvelles méthodes d'extraction de l'information
ont vu le jour, regroupées sous le terme générique de
fouille de données [11]. La fouille de données est un domaine de
recherche en plein essor visant a exploiter les grandes quantités de
données collectées dans divers domaines d'application de
l'informatique. Ce domaine pluri-disciplinaire se situe au confluent de
différents domaines, tels que les statistiques, les bases de
données, l'algorithmique, les mathématiques, l'intelligence
artificielle, etc [54]. On lui donne d'autres appellations, comme par exemple
extraction de connaissances dans les bases de données, traitement de
motifs de données ou encore exploration de données [54]. Selon
Frawley et al. [25] : L'Extraction de Connaissances dans les Bases de
Données (ou Knowledge Discovery in Databases)
désigne le processus interactif et itératif non trivial
d'extraction de connaissances implicites, précédemment inconnues
et potentiellement utiles a partir de données stockées dans les
bases de données.
Ce domaine de recherche a commencé a être
distingué en 1989, quand G. Piatetsky-
Shapiro a organisé la premiere réunion de
chercheurs et d'utilisateurs sur l'extraction automatique de connaissances dans
les grandes bases de données. Une autre étape marquante a
été la création du projet QUEST par IBM en 1993, source de
nombreux algorithmes et méthodes [4].
L'idée sous-jacente de la fouille de données est
donc d'extraire les connaissances cachées A partir d'un ensemble de
données. Le terme fouille de données regroupe un certain nombre
de tAches, telles que la prédiction, le regroupement par similitude, la
classification, l'analyse des clusters, etc [11]. Ces tAches sont elles
mêmes divisées en plusieurs techniques, telles que les regles
d'association, les arbres de décisions, les réseaux de neurones,
etc [24, 42].
Dans ce mémoire, nous allons nous intéresser aux
regles d'association [1]. L'extraction des regles d'association est l'un des
principaux problemes de la fouille de données. Ce probleme, introduit
par Agrawal et al. [1], fut développé pour l'analyse de bases de
données de transactions de ventes. Chaque transaction est
constituée d'une liste d'articles achetés, afin d'identifier les
groupes d'articles achetés le plus fréquemment ensemble [47].
L'analyse d'associations, appliquée aux données des points de
vente, est alors appelée analyse du panier de la ménagère.
L'analyse des associations part des données les plus fines qui composent
une transaction : les ventes des articles élémentaires. La
recherche des associations vise alors a retrouver les corrélations qui
pourraient exister entre n produits (par exemple, les acheteurs de
salade et de tomates achetent de l'huile dans 80% des cas), mais aussi entre
les comportements de produits (quand les ventes de X augmentent alors
les ventes de Y augmentent dans 80% des cas) [42]. L'extraction de
regles d'association a donc pour intérêt l'identification de
corrélations significatives, cachées entre les données
d'une base de données. Les corrélations obtenues peuvent
être utiles pour les utilisateurs finaux (experts, décideurs,
etc.) qui peuvent les exploiter pour différents objectifs.
Dans ce chapitre, nous allons présenter la
problématique d'extraction des regles d'association basée sur les
itemsets fréquents. Ensuite, nous allons présenter les fondements
mathématiques de l'analyse formelle de concepts et leur connexion avec
la dérivation de bases génériques de regles
d'association.
1.2 Derivation des regles d'association
1.2.1 Base de transactions
Une base de transactions peut etre formellement representee
sous la forme d'un triplet K = (O,I,R) dans lequel O
et I sont, respectivement, des ensembles finis d'objets (les
transactions) et d'attributs (les items) et R ? O × I est une
relation binaire entre les transactions et les items. Un couple
(o,i) ? R denote le fait que la transaction o ?
O contient l'item i ? I.
Une transaction T, avec un identificateur appele TID
(Tuple IDentifier), contient un ensemble, non vide, d'items de I. Un
sous-ensemble X de I ou k = |X| est appele
un k-itemset ou simplement un itemset, et k represente la
longueur de X. Le nombre de transactions de K contenant un
itemset X, |{T ? K | X ? T }|, est appele
support absolu de X. Le support relatif de X est le
quotient de son support absolu par le nombre
1IX.
total de transactions de K, cad Supp(X)
{TEK
= Un itemset X est dit frequent
|O| cni
si son support relatif est superieur ou egal a un seuil minimum
minsup(1) specifie par l'utilisateur.
1.2.2 Regles d'association
La formalisation du probleme d'extraction des regles
d'association a ete introduite par Agrawal et al. en 1993 [1]. Une regle
d'association r est une relation entre itemsets de la forme r
: X (Y-X), dans laquelle X et Y sont des
itemsets frequents, tel que X ? Y . Les itemsets X et (Y
-X) sont appeles, respectivement, premisse et conclusion de la
regle r. La generation des regles d'association est realisee a partir
d'un ensemble F d'itemsets frequents dans un contexte d'extraction
K, pour un seuil minimal de support minsup. Les regles d'association
valides sont celles dont la mesure de confiance, Conf(r) =
SSuuppp*(Y
X , est superieure ou egale a un seuil minimal de confiance, defini par
l'utilisateur et qui sera note dans la suite minconf. Si Conf(r) = 1
alors r est appelee regle d'association exacte, sinon elle
est appelee regle d'association approximative [50].
Ainsi, chaque regle d'association, X (Y
-X), est caracterisee par :
1. Le niveau de support : il correspond au nombre de fois oft
l'association est presente, rapporte au nombre de transactions comportant
l'ensemble des items de Y.
Le niveau de support permet de mesurer la frequence de
l'association [42].
2. Le niveau de confiance : il correspond au nombre de fois
oft l'association est presente, rapporte au nombre de presences de X.
Le niveau de confiance permet de mesurer la force de l'association [42].
Ainsi, etant donne un contexte d'extraction /C, le probleme de
l'extraction des regles d'association dans 1C consiste a determiner
l'ensemble des regles d'association dont le support et la confiance sont au
moins egaux respectivement a minsup et minconf. Ce probleme peut etre decompose
en deux sous-problemes comme suit [1] :
1. Determiner l'ensemble des itemsets frequents dans /C, cad les
itemsets dont le support est superieur ou egal a minsup.
2. Pour chaque itemset frequent Ii, generer
toutes les regles d'association de la forme r : I, = I, tel
que I, C I, et dont la confiance est superieure ou egale a minconf.
Ces deux problemes sont resolus par un algorithme fondamental
dans la fouille de donnees, a savoir APRIORI [2]. Le premier sous-probleme a
une complexite exponentielle en fonction du nombre d'itemsets. En effet, etant
donne un ensemble d'items de taille n, le nombre d'itemsets frequents
potentiels est egal a 2'. Le deuxieme sous-probleme est exponentiel en la
taille des itemsets frequents. En effet, pour un itemset frequent I,
le nombre de regles d'association non triviales qui peuvent etre generees est
2|I| - 1. Toutefois, la generation des regles d'association
a partir des itemsets frequents ne necessite aucun balayage de la base de
donnees et les temps de calcul de cette generation sont faibles compares aux
temps necessaires pour la decouverte des itemsets frequents [47]. Neanmoins, le
probleme de la pertinence et de l'utilite des regles extraites est d'une
premiere importance etant donne que dans la plupart des bases de transactions
reelles, des milliers et meme des millions de regles d'association sont
generees [56, 67]. Or, il a ete constate que dans la pratique, plusieurs regles
etaient redondantes [10].
Afin de resoudre ces deux problemes, cad les temps
d'extraction des itemsets fréquents ainsi que la redondance au niveau
des règles d'association valides, Pasquier et al. [48] ont propose, en
1998, une approche qui consiste a extraire les itemsets fermés frequents
au lieu des itemsets frequents. Cette approche est basee sur le fait que
l'ensemble des itemsets fermes frequents est un ensemble generateur de
l'ensemble des itemsets frequents [47]. L'approche par extraction des itemsets
fermes frequents repose sur les fondements mathematiques de l'analyse formelle
de concepts [66]. La section suivante est consacree a la presentation de ces
fondements.
1.3 Analyse formelle de concepts
1.3.1 Introduction
Une base de donnees, appelee aussi contexte d'extraction ou
d'une maniere generale contexte formel, est generalement representee par une
relation binaire entre un ensemble d'attributs I et un ensemble
d'objet O.
Definition 1 Contexte formel
Un contexte formel est un triplet K =
(O,I,R), decrivant deux ensembles finis O et I et
une relation (d'incidence) binaire, R, entre O et I
tel que R ? O × I. L'ensemble O est habituellement
appele ensemble d'objets (ou transactions) et I est appele
ensemble d'attributs (ou items). Cha que couple
(o,i) ? R designe que l'objet o ? O possede
l'attribut
i ? I (note oRi).
Un exemple de contexte formel K est illustre dans la
figure 1.1, avec O =
{1,2,3,4,5} et
I = {A, B,C, D, E}.
|
A
|
B
|
|
CD
|
E
|
1
|
×
|
|
×
|
×
|
|
2
|
|
×
|
×
|
|
×
|
3
|
×
|
×
|
×
|
|
×
|
4
|
|
×
|
|
|
×
|
5
|
×
|
×
|
×
|
|
×
|
FIG . 1.1 - Exemple de contexte formel
L'analyse formelle de concepts, introduite par Wille en 1982
[66], traite des concepts formels : un concept formel est un ensemble d'objets,
l'extension, auxquels s'appliquent un ensemble d'attributs, l'intention.
L'analyse formelle de concepts offre alors un outil de classification et
d'analyse, dont la notion centrale est le treillis de concepts. Le treillis de
concepts peut etre vu comme un regroupement conceptuel et hierarchique d'objets
(a travers les extensions du treillis), et interprete comme une representation
de toutes les implications entre les items (a travers les intentions) [58].
L'analyse formelle de concepts permet aussi de reduire
considerablement le nombre de relations entre ensembles d'attributs, en ne
generant que celles considerees comme non redondantes.
Dans ce qui suit, nous allons presenter les elements fondamentaux
de l'analyse formelle de concepts.
1.3.2 Notion d'ordre partiel
- Ensembles ordonnes :
Soit E un ensemble. Un ordre partiel sur l'ensemble
E est une relation binaire = sur les elements de E, tel
que pour x, y, z ? E nous avons les proprietes suivantes [21] :
1. Reflexiyite : x = x
2. Anti-symetrie : x = y et y = x x =
y
3. Transitiyite : x = y et y = z x = z
Un ensemble E dote d'une relation d'ordre =,
note (E,=), est appele ensemble partiellement ordonne
[21].
Soient P et Q deux ensembles partiellement
ordonnes. Nous dirons que P et Q sont ordre-isomorphes,
note P ~= Q, s'il existe une bijection f : P
Q et tel que x = y dans P si et seulement si
f(x) = f(y) dans Q. La bijection
f est ainsi dite ordreisomorphisme [21].
- Relation de couverture :
Soient E un ensemble ordonne (E,=
) et x, y deux elements de E. La relation de
couverture entre les elements de E, notee ?, est definie
par x ? y si et seulement si x = y et tel qu'il n'existe pas
d'element z ? E tel que x = z = y pour z =~
x et z =~ y.
Si x ? y, nous disons que y couvre x
ou bien que y est un successeur immediat de x (et donc
x est couvert par y ou x est un predecesseur immediat
de y) [21].
- Join et Meet :
Soit un sous-ensemble S ? E de l'ensemble partiellement
ordonne (E,=). Un element
u ? E est un majorant, ou borne-sup, de S si
pour tout element s ? S, nous avons s = u. L'ensemble des
majorants de S est note UB(S). D'une maniere duale, un element
ü ? E est un minorant, ou borne-inf, de S
si pour tout element s ? S, nous avons v = s.
L'ensemble des minorants de S est note LB(S) [27].
UB(S) = {u ? E | ?s ? S, s =
u} LB(S) = {v ? E | ?s ? S, v = s}
Le plus petit majorant d'un ensemble S, s'il existe,
est le plus petit element de l'ensemble UB(S) des majorants
de S. Cet element est note Join(S) (?S). D'une
maniere duale, le plus grand minorant d'un ensemble S, s'il existe,
est le plus grand element de l'ensemble LB(S) des minorants
de S. Cet element est note Meet(S) (?S) [27].

h i
e
a b
c
f g
FIG . 1.2 -- Join - Meet
Exemple 1 Soit le treillis de concepts illustre par la figure
1.2. Ainsi, nous avons : UB({a,b}) = {T, h,i, f}
LB({e, f}) = {a, ?}
- Treillis complet : Un ensemble partiellement ordonne
(E,=) non vide est un treillis si pour tout couple d'elements
(x, y) ? E, l'ensemble {x, y} possede un plus petit
majorant, note x ? y, et un plus grand minorant, note x ?
y.
L'ensemble partiellement ordonne (E,=) est un
treillis complet si pour tout sous-ensemble S ?E, les elements
Join(S) et Meet(S) existent [21].
Les treillis sont frequemment representes sous forme d'un
diagramme de Hasse (les arcs transitifs sont omis), appele egalement graphe de
couverture [21]. Dans ce type de graphe, les sommets correspondent aux elements
de l'ensemble E et les arcs aux relations de couverture entre les sommets
[21].
Theoreme 1 Theoreme fondamental de l'analyse formelle de
concepts [27] : L'ensemble des concepts formels, extrait a partir d'un
contexte formel, constitue un treillis complet quand les concepts
formels sont ordonnes par inclusion des extensions (ou par inclusion
des intentions).
- Join-irreductible et Meet-irreductible :
Pour un element l d'un treillis complet L, nous
definissons [21] :
l* = ?{x ? L|x <
l} l* = ?{x ? L|l < x}
Un element l est dit Join-irreductible s'il couvre un
element unique. D'une maniere duale, l est dit Meet-irreductible, s'il
est couvert par un seul element.
L'ensemble des elements Join-irreductible de L est
note par J (L) et l'ensemble des elements Meet-irreductible
de L est note par M(L). Chacun de ces ensembles
herite de la relation d'ordre de L [21].
Exemple 2 Dans la figure 1.2, b est un element
Meet-irreductible, alors que e est un element
Join-irreductible. Dans la figure 1.3, nous avons J(L) =
{b, c} et M(L) = {e, f}.

b c
a
d
e f
FIG 1.3 -- Join-irreductible - Meet-irreductible
1.3.3 Connexion de Galois
- Operateurs de fermeture :
Soit un ensemble partiellement ordonne
(E,=). Une application ã de
(E,=) dans (E,=) est appelee un
operateur de fermeture, si et seulement si elle possede les proprietes
suivantes. Pour tout sous-ensemble S, S' ? E [21] :
1. Isotonie : S = S' ã(S) ?
ã(S')
2. Extensivite : S ? ã(S)
3. Idempotence :
ã(ã(S)) = ã(S)
Etant donne un operateur de fermeture ã sur un
ensemble partiellement ordonne (E,=), un element
x ? E est un element ferme si l'image de x par l'operateur de
fermeture ã est egale a lui-même, cad
ã(x) = x [21].
- Connexion de Galois :
Soit un contexte d'extraction K =
~O,I,R~. Soit l'application ö, de
l'ensemble des parties de OM dans l'ensemble des parties de
I, qui associe a un ensemble d'objets O ? O l'ensemble des
items i ? I communs a tous les objets o ? O [27] :
ö : 2O ?
2I ö(O) = {i ? I|?o ? O ? oRi }
Soit l'application ø, de l'ensemble des
parties de I dans l'ensemble des parties de O, qui
associe a tout ensemble d'items (communement appele itemset) I ? I
l'ensemble des objets o ? O contenant tous les items i ? I
[27] :
ø : 2I ?
2O ø(I) = {o ? O|?i ? I ? oRi
}
Le couple d'applications (ö,ø)
est une connexion de Galois entre l'ensemble des parties de O et
l'ensemble des parties de I [3, 27]. Etant donne une connexion de
Galois, les proprietes suivantes sont verifiees quelques soient I,
I1, I2 ? I et O,
O1, O2 ? O [27] :
1. I1 ? I2
ø(I2) ?
ø(I1);
2. O1 ? O2
ö(O2) ? ö(O1)
;
3. O ? ø(I) ? I ?
ö(O) ? (I,O) ? R.
- Fermeture de la connexion de Galois :
Nous considerons les ensembles des parties
2I et 2O dotes de la relation
d'inclusion ?, cad les ensembles partiellement ordonnes
(2I, ? ) et (2O, ? ).
Les operateurs ã = ö ? ø de
(2I, ? ) dans (2I, ?
) et ã'= ø ? ö de
(2O, ? ) dans (2O, ?
) sont des operateurs de fermeture de la connexion de Galois [3, 27].
Etant donne une connexion de Galois, les proprietes suivantes sont verifiees
quelques soient I, I1, I2
? I et O, O1, O2 ?
O [27] :
1. I ? ã(I) 1'. O ?
ã'(O)
2.
ã(ã(I))=ã(I)
2'.
ã'(ã'(O))=ã~(O)
3. I1 ? I2
ã(I1) ?
ã(I2) 3'. O1 ?
O2 ã'(O1) ?
ã'(O2)
4. ã(ø(I)) =
ø(I) 4'. ã(ö(O))
= ö(O)
- Treillis de concepts formels (de Galois) :
Etant donne un contexte d'extraction
K=(O,I,R), l'ensemble de concepts formels
CK est un treillis complet LC,, = (CK, =),
appele treillis de concepts formels (de Galois), quand l'ensemble
CK est considere avec la relation d'inclusion entre les itemsets [3, 27].
La relation d'ordre partiel entre des concepts formels est definie comme suit
[27] : ? c1=
(O1,I1), c2
=(O2,I2) ? CK,
c1 = c2 ? I2 ?
I1 (? O1 ? O2) avec
I1, I2 ? I et
O1, O2 ? O.
Dans un treillis de concepts, l'element
ø(O) x O est appele element Bottom du
treillis (note 1) et l'element Z x
ö(Z) est appele element Top du treillis (note T).
Le chemin amenant du Bottom jusqu'au Top est appele chaine maximale du treillis
[27].
Dans un treillis de concepts, les operateurs Join et Meet
permettent d'obtenir, respectivement, la plus petite borne superieure et la
plus grande borne inferieure. Les operateurs Join et Meet sont definis comme
suit [27] :
V O1, O2 C O
et I1, I2 C Z :
- (O1, I1) V
(O2, I2) =
(ã(O1 U O2),
I1 n I2),
- (O1, I1) A
(O2, I2 = (O1 n
O2, ã(I1 U
I2)).
La relation d'ordre partiel est utilisee pour generer le graphe
du treillis, appele Diagramme de Hasse, comme suit [27] :
Il existe un arc (c1, c2), si
c1 c2 oft est la reduction transitive de <,
cad Vc3 E CK,
c1 < c3 < c2
c1 =c3 ou c2 =c3.
Dans ce graphe, les sommets correspondent aux elements de
l'ensemble Ck et les arcs aux relations de couverture entre les
sommets. Chaque element c E Cic est connecte aussi bien a un
ensemble de ses successeurs immediats, appele Couverture superieure
(Couvs), et a un ensemble de ses predecesseurs
immediats, appele Couverture inferieure (Couvi).
1.3.4 Itemsets fermes et leurs generateurs minimaux
Dans cette section, nous definissons :
G les itemsets fermes qui peuvent être ordonnes sous la
forme d'un treillis des itemsets fermes.
G les itemsets fermes frequents qui peuvent être ordonne
sous la forme d'un treillis d'Iceberg.
les generateurs minimaux.
- Itemset ferme :
Etant donne l'operateur de fermeture de la connexion de
Galois ã, un itemset l C Z tel que
ã(l) = l est appele itemset ferme. Un itemset
ferme est donc un ensemble maximal d'items communs a un ensemble d'objets
[47].
[BC} n'est pas un itemset ferme car il n'est pas un ensemble
maximal d'items communs a certains objets : tous les objets contenant
les items B et C, cad les objets 2,3 et 5 contiennent egalement l'item
E.
- Ensemble d'itemsets fermes :
Soit un contexte d'extraction K =
(O,I,R) et l'operateur de fermeture de la connexion
de Galois ã. L'ensemble IF des itemsets fermes dans le
contexte K est defini comme suit [47] :
IF = {l ? I 1 l= Ø ?
ã(l~=lP.
Le plus petit (minimal au sens de l'inclusion) itemset ferme
contenant un itemset l est obtenu par l'application de l'operateur
ã a l [47].
- treillis des itemsets fermes :
L'operateur de fermeture ã induit une
relation d'equivalence sur l'ensemble de parties de I, cad l'ensemble
de parties est partionne en des sous-ensembles disjoints, appeles aussi classes
d'equivalence. Dans chaque classe, tous les elements possedent la meme valeur
de support. Les generateurs minimaux d'une classe sont les elements
incomparables (selon la relation d'inclusion) les plus petits, tandis que
l'itemset ferme est l'element le plus large de cette classe. Ces classes
d'equivalence sont ordonnees sous forme d'un treillis de concepts formels (de
Galois) oft chaque concept formel est dans ce cas un itemset ferme. Ainsi, le
couple LIF =-- (IF,?) est un treillis complet appele
treillis des itemsets fermes [47].
- Itemset ferme frequent :
Un itemset ferme l est dit frequent si son support
relatif, Supp(l) = |ø~l~|
|O| ,excede un seuil minimum fixe par l'utilisateur note
minsup [47]. Notons que |ø(l~| est appele
support absolu de l.
Agrawal et al. ont introduit dans [1], les deux proprietes
suivantes relatives aux supports des itemsets frequents :
1. Tous les sous-ensembles d'un itemset frequent sont
frequents.
2. Tous les sur-ensembles d'un itemset infrequent sont
infrequents.
Ces proprietes restent applicables dans le cas des itemsets
fermes frequents [47]. Ainsi,
1. Tous les sous-ensembles d'un itemset ferme frequent sont
frequents.
2. Tous les sur-ensembles d'un itemset ferme infrequent sont
infrequents.
Sachant que le support d'un itemset (frequent) l est
egal au support de sa fermeture ã(l) qui est le plus
petit itemset ferme contenant l : Supp(l) =
Supp(ã(l~) [47].
- Treillis d'Iceberg :
Quand nous considerons seulement l'ensemble des itemsets
fermes frequents ordonnes par la relation d'inclusion ensembliste, la structure
obtenue (àL, ? ) preserve seulement l'operateur
Join. Cette structure forme un semi-treillis superieur et elle est designee par
treillis d'Iceberg [6, 57, 63].
- Generateur minimal :
Un itemset g ? I est dit generateur minimal d'un
itemset ferme f, si et seulement si ã(g)
= f et il n'existe pas g1 ? I tel que
g1 ? g [5]. L'ensemble GMf des generateurs
minimaux d'un itemset ferme f est defini comme suit :
GMf = { g ? I l
ã(g)=f ? l g1 ? g
tel que ã(g1) =f }.
Dans la suite, nous allons montrer la connexion de l'analyse
formelle de concepts avec l'extraction des bases generiques de regles
d'association.
1.4 Derivation des bases generiques de regles
d'association
Depuis l'apparition de l'approche basee sur l'extraction des
itemsets fermes frequents [48], une nouvelle formulation du probleme de
l'extraction des regles d'association est proposee et qui consiste a extraire
les itemsets fermes frequents au lieu des itemsets frequents. Ceci permet [47]
:
D'ameliorer les temps de calcul, puisque dans la plupart des
cas, le nombre d'itemsets fermes frequents est largement inferieur au nombre
d'itemsets frequents, surtout pour les bases de transactions fortement
correlees ou denses.
De generer que des regles d'association non redondantes.
Cette nouvelle approche -- l'extraction des itemsets fermes
frequents -- a donne lieu a une selection de sous-ensembles de regles sans
perte d'information. La selection de regles sans perte d'information repose sur
l'extraction d'un sous-ensemble de toutes les regles
d'association, appele base generi que, a partir duquel le
reste des regles pourrait etre derive. Dans ce memoire, nous allons nous
interesser en particulier a l'approche de Bastide et al. [4, 5]. Cette
approche presente deux bases generiques qui sont definies comme suit :
1. La Base generi que de regles d'association exactes, adaptee
de la base d'implications globales de Guigues et Duquenne [31], est definie
comme suit [4, 5] :
Definition 2 Soit IFFK l'ensemble des itemsets
fermes frequents extrait d'un contexte d'extraction K. Pour
cha que itemset ferme frequent f ? IFFK, nous designons par GMf
l'ensemble de ses generateurs minimaux. La base generi que de regles
d'association exactes est donnee par : BG = {R :
g (f - g) | f ? IFFK et g ? GMf
et g f(3)}
2.
.
La base generique de regles d'association approximatives
appelee Base informative de regles d'association approximatives,
adaptee de la base d'implications partielles de Luxenburger [45], est definie
comme suit [4, 5] :
Definition 3 Soit GMFK l'ensemble des generateurs
minimaux frequents extrait d'un contexte d'extraction K. La
base informative de regles d'association approximatives BI est donnee
par : BI = {R : g (f - g) | f
? IFFK et g ? GMFK et ã(g) ? f
et Conf (R) = minconf}.
Afin de reduire le nombre de regles generiques approximatives,
Bastide et al. proposent une reduction transitive de la base informative [4,
5], qui est elle-meme une base pour toutes les regles approximatives, definie
de la maniere suivante :
Definition 4 La reduction transitive RI de la base
informative est donnee par : RI {R : g (f
- g) | f ? IFFK et g ? GMFK et
ã(g) ? f et Conf (R) =
minconf}.
Ainsi, il est possible de determiner toutes les regles de la
base informative et donc toutes les regles approximatives a partir de la
reduction transitive [4, 5]. Ceci a pour avantage de presenter un ensemble
minimal de regles a l'utilisateur, ce qui lui permet de mieux les visualiser et
les utiliser.
Dans la suite, nous allons considerer les regles d'association
generiques formees par l'union de la base generique de regles exactes et la
reduction transitive de la base informative. Ces regles seront designees par
regles d'association informatives. Ainsi, etant donne un treillis d'Iceberg,
dans lequel chaque itemset ferme frequent est decore par sa liste de
generateurs minimaux, la derivation de ces regles peut se faire d'une maniere
directe. En
3La condition g 0 f permet de ne pas
retenir les regles de la forme g Ø.
effet, les regles approximatives génériques sont
des implications "inter-nceuds" assorties d'une mesure de confiance. Cette
implication met en jeu deux classes d'équivalence comparables, cad d'un
itemset fermé vers un autre itemset fermé le couvrant
immédiatement dans la structure partiellement ordonnée. En
revanche, les regles génériques exactes sont des implications
"intra-nceud", avec une confiance égale a 1, extraites de chaque nceud
dans la structure partiellement ordonnée.
Il faut noter que les bases considérées
présentent plusieurs avantages [4, 5, 41] :
1. Ces bases donnent des regles génériques avec
un nombre minimal d'items dans la prémisse et un nombre maximal d'items
dans la conclusion [38]. Ceci donne les regles les plus informatives pour
l'utilisateur [47].
2. Ces bases n'induisent aucune perte d'information. En
effet, ces bases génériques présentent un ensemble minimal
de regles, a partir duquel toutes les regles valides peuvent etre
retrouvées par application d'axiomes d'inférence comme ceux
proposés dans [10]. En plus, ces bases sont informatives, cad qu'elles
permettent de retrouver, pour chaque regle redondante, son support et sa
confiance sans acces au contexte d'extraction.
3. Ces bases sont valides, cad qu'elles ne permettent de
générer que les regles redondantes ayant un support et une
confiance dépassant respectivement minsup et minconf.
4. La réduction transitive regroupe les regles
approximatives génériques ayant des confiances
élevées. En effet, chacune des regles, formant la
réduction transitive, constitue un lien entre deux classes
d'équivalence dont l'une couvre l'autre immédiatement. Ces
classes d'équivalence ont généralement des supports
proches. Ceci permet d'avoir des regles d'association présentant des
confiances élevées. Sauf rares exceptions, ces regles sont les
plus intéressantes [4].
Les algorithmes présentés dans [5, 47]
permettent d'extraire ces bases en supposant l'existence des itemsets
fermés fréquents ainsi que leurs générateurs
minimaux respectifs. Ceci nécessite l'application en amont d'un autre
algorithme tel que CLOSE [48, 49] ou A-CLOSE [50], etc. La
génération de la base générique de regles
d'association exactes se fait alors d'une maniere directe. Cependant pour les
regles d'association approximatives, des tests d'inclusion coitteux, mettant en
jeu les itemsets fermés fréquents, sont réalisés
pour déterminer les successeurs immédiats de chaque classe
d'équivalence.
1.5 Conclusion
Un problème classique de la fouille de données
est la recherche de regles d'association dans les données, introduit par
Agrawal et al. [1]. Etant donné, le nombre élevé
d'itemsets fréquents et donc le nombre élevé des regles
d'association (redondantes) extraites même dans le cas de contextes
d'extraction de petites tailles, une nouvelle approche préconisant
l'extraction des itemsets fermés fréquents [48], a vu le jour.
Cette approche vise a réduire le cotit de l'extraction des itemsets
fréquents et surtout a ne générer qu'un sous-ensemble
généri que de l'ensemble de toutes les regles d'association. Dans
le chapitre suivant, nous allons présenter les principaux algorithmes
permettant l'extraction des itemsets fermés fréquents.
Chapitre 2
Algorithmes d'extraction des itemsets
fermes frequents : Etat de l'art
2.1 Introduction
L'extraction des regles d'association est l'une des techniques
les plus importantes dans le domaine de la fouille de données [11]. La
premiere approche d'extraction des regles d'association s'est basée sur
la découverte des itemsets fréquents [2]. Cependant, cette
approche souffre de deux problemes majeurs, a savoir le coit de l'extraction
des itemsets fréquents a partir desquels seront extraites de grandes
quantités de regles d'association. Cette quantité énorme
de connaissance rend quasi impossible leur analyse par un expert humain. Pour
pallier ces inconvénients, une nouvelle approche basée sur
l'extraction des itemsets fermés fréquents [48] est apparue.
Cette approche exploitant les fondements mathématiques de l'analyse
formelle de concepts [66], propose de réduire le coit de l'extraction
des itemsets fréquents en se basant sur le fait que l'ensemble des
itemsets fermés fréquents est un ensemble
générateur de l'ensemble des itemsets fréquents [48]. En
outre, elle propose une sélection, sans perte d'information, d'un
sous-ensemble de toutes les regles d'association, appelé base
générigue, a partir duquel le reste des regles pourrait etre
dérivé [48]. Cette approche permet de réduire le nombre de
regles extraites en ne gardant que les plus intéressantes pour
l'utilisateur et lui donne la possibilité de mieux les visualiser et les
exploiter.
2.2 Algorithmes d'extraction des itemsets fermes
frequents
La premiere approche d'extraction des regles d'association
s'est basee sur l'extraction des itemsets frequents. Les algorithmes, adoptant
cette approche, peuvent etre classes suivant les strategies d'exploration
utilisees pour traverser le treillis des itemsets : en largeur d'abord [2], en
profondeur d'abord [34] ou une strategie hybride [70]. En adoptant une
strategie en largeur d'abord, tous les k-itemsets candidats sont
generes en faisant une auto-jointure de l'ensemble des (k-1)-itemsets
frequents [2]. Quand une strategie en profondeur d'abord est adoptee, etant
donne un (k-1)-itemset frequent X, les k-itemsets
candidats sont generes en ajoutant un item i, i/?X, a
X. Si {X U i} est aussi frequent, le processus est
repete recursivement pour {X U i} [34]. La troisieme
strategie explore en profondeur d'abord le treillis des itemsets, mais ne
genere qu'un seul itemset a la fois [70].
Afin de resoudre les problemes rencontres par les algorithmes
d'extraction des itemsets frequents, une nouvelle approche basee sur
l'extraction des itemsets fermes frequents est apparue. Cette approche est
basee sur la fermeture de la connexion de Galois [27] pour resoudre le probleme
d'extraction de regles d'association [48]. Elle est fondee sur un elagage du
treillis des itemsets fermes, en utilisant les operateurs de fermeture de la
connexion de Galois [27]. Plusieurs algorithmes ont ete proposes dans la
litterature [49, 50, 51, 57, 69], dont le but est de decouvrir les itemsets
fermes frequents.
Quand nous nous interessons a l'extraction des itemsets fermes
frequents seulement, la generation des candidats et la verification s'ils sont
fermes ou non, ne peuvent pas etre directement appliquees contrairement aux
algorithmes permettant de determiner les itemsets frequents [43]. En effet, il
n'est pas possible de generer des itemsets fermes candidats en faisant une
auto-jointure des itemsets fermes dejà decouverts. Par exemple, etant
donne un itemset ferme X, il peut arriver qu'aucun des sur-ensembles
de X, obtenus en etendant X par un seul item, ne soit un
ferme [43].
Etant donne le fait que les candidats fermes frequents ne
peuvent pas etre generes directement, tous les algorithmes, permettant de
trouver les itemsets fermes frequent, sont bases sur deux etapes qui
co-existent. La premiere etape consiste a naviguer dans l'espace de recherche
en traversant le treillis des itemsets frequents d'une classe d'equivalence a
une autre. Durant la deuxieme etape, ces algorithmes calculent les fermetures
des itemsets
frequents visites, dans le but de determiner les itemsets fermes
frequents de la classe d'equivalence correspondante [43].
Ainsi, nous proposons que les strategies adoptees pour
l'exploration de l'espace de recherche soient decomposees en trois strategies,
a savoir "Generer-et-tester", "Diyiser-etgenerer" et une strategie hybride :
1. La strategie "Generer-et-tester" : les algorithmes
adoptant cette strategie parcourent l'espace de recherche par niveau. A chaque
niveau k, un ensemble de candidats de taille k est genere.
Cet ensemble de candidats est, generalement, elague par la conjonction d'une
metrique statistique (cad le support) et des heuristiques basees
essentiellement sur les proprietes structurelles des itemsets fermes et/ou des
generateurs minimaux [9].
2. La strategie "Diviser-et-generer" : les algorithmes
adoptant cette strategie essaient de diviser le contexte d'extraction en des
sous-contextes et d'appliquer le processus de decouverte des itemsets fermes
recursivement sur ces sous-contextes. Ce processus de decouverte repose sur un
elagage du contexte base essentiellement sur l'utilisation d'une metrique
statistique et d'heuristiques introduites [9].
3. La strategie hybride : les algorithmes adoptant cette
strategie utilisent les proprietes des deux strategies precedentes. Ils
explorent l'espace de recherche en profondeur d'abord (tel que les algorithmes
de la strategie "Diyiser-et-generer") mais sans diviser le contexte
d'extraction en des sous-contextes. Ces algorithmes genèrent un ensemble
de candidats tel que c'est le cas dans la strategie "Generer-et-tester".
Cependant, cet ensemble est toujours reduit a un seul element. Ces algorithmes
essaient alors de verifier si ce candidat est un itemset ferme frequent ou non.
Le processus d'extraction se base aussi sur des strategies d'elagage [69]. Ces
derniers consistent a utiliser une metrique statistique en conjonction avec
d'autres heuristiques.
Dans la suite, nous allons passer en revue les principaux
algorithmes permettant l'extraction des itemsets fermes frequents en les
distinguant par rapport a la strategie d'exploration etant donne que c'est le
critère utilise dans la litterature [9, 36].
2.2.1 Les algorithmes de type
!,Générer-et-tester!,
Dans cette sous section, nous allons passer en revue les
algorithmes les plus connus operant selon la strategie "Generer-et-tester". Une
structure generale d'un algorithme entrant dans cette categorie est presentee
dans [9].
Chacun des algorithmes, que nous allons presenter dans la
suite, est caracterise par une phase d'elagage et par une phase de
construction. Lors de la phase d'elagage et en plus de l'elagage des candidats
infrequents, cad ayant un support strictement inferieur a minsup, chaque
algorithme introduit de nouvelles strategies d'elagage pour essayer de reduire
le coUt supplementaire du calcul des fermetures des itemsets [9]. Notons que
ces strategies dependent de l'information dont dispose l'algorithme. Cette
information peut être soit l'ensemble des generateurs minimaux seuls,
soit accompagne de l'ensemble des itemsets fermes [9]. La phase de construction
relative a une iteration k, permet de generer les candidats de
taille k a partir de ceux retenus lors de l'iteration (k-1)
(cad de taille (k-1)).
Une methode d'elagage commune aux algorithmes adoptant la
strategie "Generer-ettester" se base sur la verification de l'ideal d'ordre des
generateurs minimaux frequents. Cette notion est definie comme suit :
Proposition 1 [55, 571 L'ensemble GMFK des
generateurs minimaux frequents extraits d'un contexte d'extraction
K verifie la propriete de l'ordre ideal de
(P(I),? ), cad si g ? GMFK et
g1 ? g alors g1 ? GMFK,
pour tout g, g1 ? I.
La definition d'un ordre ideal des generateurs minimaux frequents
est equivalente a : g1 ?/ GMFK,
g1 ? g g ?/ GMFK, pour tout g,
g1 ? I.
Definition 5 [55, 571 Soit GMFK un ordre ideal de
(P(I),? ). Un itemset candidat g pour
GMFK est un sous-ensemble de I tel que tous ses sous-ensembles
sont des generateurs minimaux frequents.
Ainsi, tout candidat generateur minimal frequent g de
taille k, est elague dans le cas oft un de ses sous-ensembles n'est
pas un generateur minimal frequent.
2.2.1.1 L'algorithme CLOSE
L'algorithme CLOSE propose par Pasquier et al. [48, 49] est le
premier algorithme permettant l'extraction des itemsets fermes frequents. Cet
algorithme se base sur les generateurs minimaux pour calculer les itemsets
fermes. Ces generateurs minimaux sont utilises pour construire un ensemble
d'itemsets fermes candidats (itemsets fermes potentiellement frequents), qui
sont les fermetures des generateurs minimaux. Ainsi, etant donne un contexte
d'extraction K, CLOSE genere toutes les regles d'association en trois
etapes successives [9] :
1. Decouverte des itemsets fermes frequents ;
2. Derivation de tous les itemsets frequents a partir des
itemsets fermes frequents obtenus durant la premiere etape ;
3. Pour chaque itemset frequent, generation de toutes les regles
ayant une confiance au moins egale a minconf.
L'algorithme CLOSE parcourt l'ensemble des generateurs
minimaux des itemsets fermes frequents par niveaux. L'ensemble d'itemsets
fermes frequents candidats d'une iteration k est l'ensemble des
fermetures des k-generateurs minimaux frequents de cette iteration.
Durant la premiere iteration, l'ensemble des 1-generateurs minimaux est
initialise avec la liste des 1-itemsets du contexte d'extraction, tries par
ordre lexicographique. CLOSE calcule alors le support et la fermeture de ces
generateurs moyennant un acces au contexte d'extraction. Les generateurs
minimaux infrequents et leurs fermetures sont alors elimines. Ensuite, pour
chaque iteration k, CLOSE construit un ensemble de candidats
generateurs minimaux frequents de taille k en utilisant la phase
combinatoire d'APRiORi-GEN [2] appliquee aux (k-1)-generateurs
minimaux frequents retenus lors de l'iteration precedente. De cet ensemble est
elague tout candidat ne verifiant pas l'ideal d'ordre des generateurs minimaux
frequents ou s'il est inclus dans la fermeture d'un de ses sous-ensembles de
taille (k-1), calculee lors de l'iteration precedente [48, 49]. Une
fois ces tests d'elagage effectues, CLOSE accede au contexte d'extraction pour
calculer le support et la fermeture des candidats retenus. Pour calculer la
fermeture des candidats, CLOSE utilise la fonction GEN-CLOSURE [48, 49]. Cette
fonction determine, pour chaque transaction T du contexte
d'extraction, les generateurs minimaux qui sont inclus dans T. Pour
chacun de ces generateurs minimaux, GEN-CLOSURE calcule sa fermeture et
incremente son support. La fermeture est egale a l'intersection de T
avec l'ancienne valeur de la fermeture, si cette derniere est non nulle sinon
la nouvelle valeur est egale a T. Une fois l'acces au contexte
d'extraction termine, CLOSE ne retient que les fermetures des generateurs
minimaux qui sont frequents. Ainsi, les candidats infrequents, et pour lesquels
le calcul de la fermeture est logiquement non necessaire, sont elimines.
L'execution de l'algorithme CLOSE prend fin quand il n'y plus de candidats a
generer.
Etant donne que dans chaque iteration, le calcul des supports
et des fermetures des candidats est l'etape la plus exigeante en temps
d'execution, CLOSE utilise une structure de donnees avancee basee sur la notion
d'arbre prefixe (ou trie(')) derivee de celle proposee
'Le mot trie est inspire du mot anglais reTRIEval.
par Mueller dans [46]. Dans cette structure, chaque candidat
est represente par un chemin de la racine a une feuille du trie. La fermeture
de chaque candidat est stockee au niveau de la feuille le representant dans le
trie. A la fin de chaque iteration, les generateurs minimaux frequents, leurs
supports et leurs fermetures sont stockes dans un autre trie ayant la
meme structure que celui utilise pour le calcul des supports et des fermetures.
Le fait d'utiliser un trie pour chaque ensemble de generateurs minimaux
frequents, d'une taille k donnee, necessite une grande quantite
d'espace memoire (etant donne qu'il y a beaucoup de redondance).
CLOSE necessite au pire des cas acces au contexte d'extraction
(TIT etant la taille
maximale possible d'un generateur minimal).
2.2.1.2 L'algorithme A-CLOSE
L'algorithme A-CLOSE, propose par Pasquier et al. [50], permet
l'extraction des itemsets fermes frequents en utilisant les proprietes des
supports des generateurs minimaux des itemsets fermes frequents. L'amelioration
apportee a l'algorithme A-CLOSE par rapport a l'algorithme CLOSE, reside dans
le fait que A-CLOSE, apres avoir construit un ensemble de
k-generateurs candidats a partir des (k-1)-generateurs minimaux
retenus dans la (k1)i`eme iteration, supprime de cet
ensemble tout candidat g dont le support est egal au support d'un de
ses sous-ensembles de taille (k-1) [50].
Ainsi, A-CLOSE procede en deux etapes successives :
1. Il determine tous les generateurs minimaux frequents, cad les
plus petits elements incomparables des classes d'equivalence induites par
l'operateur de fermeture ã.
2. Pour chaque classe d'equivalence, il determine l'element
maximal residant au sommet de la hierarchie, cad l'itemset ferme frequent.
Lors de la premiere etape, A-CLOSE parcourt l'espace de
recherche en largeur d'abord. A-CLOSE initialise alors l'ensemble des
1-generateurs minimaux par les 1-itemsets du contexte d'extraction, tries par
ordre lexicographique. Un acces au contexte d'extraction permet de calculer
seulement le support de ces generateurs (les fermetures ne sont pas calculees).
Ensuite, a chaque iteration k, A-CLOSE construit un ensemble de
k-candidats generateurs minimaux en joignant les generateurs minimaux
frequents retenus lors de l'iteration precedente (cad de taille (k-1))
grace a la phase combinatoire d'APRiORi-GEN [2]. De cet ensemble est elague
tout candidat ne verifiant pas l'ideal d'ordre des generateurs minimaux
frequents. Une fois cet elagage effectue, un acces au contexte d'extraction
est
effectué pour calculer le support des candidats
retenus. Ensuite, A-CLOSE élimine tout candidat g qui se
révèle infréquent ou ayant un support égal a celui
d'un de ses sous-ensembles de taille (k-1) [50]. Afin de
vérifier cette dernière condition, A-CLOSE effectue un balayage
des générateurs minimaux retenus de taille (k-1)
permettant de comparer le support de g avec le support de ses
sous-ensembles de taille (k-1) [50]. La première étape
de l'algorithme A-CLOSE prend fin lorsqu'il n'y a plus de candidats a
générer.
Lors de la deuxième étape, A-CLOSE calcule les
fermetures de tous les générateurs minimaux fréquents
retenus lors de la première étape. A cette fin, A-CLOSE
accède au contexte d'extraction et utilise la fonction AC-CLOSURE [50]
qui est la même que la fonction GEN-CLOSURE utilisée dans
l'algorithme CLOSE amoindrie de la phase du calcul du support [50].
Pour alléger le calcul des fermetures, l'algorithme
A-CLOSE mémorise le numéro de la première itération
durant laquelle un candidat fréquent non générateur
minimal (cad ayant un support égal a celui d'un de ses sous-ensembles) a
été identifié. Le numéro de cette itération
correspond a la taille t de ce candidat. Il n'est alors pas
nécessaire de calculer la fermeture des générateurs
minimaux fréquents de tailles inférieures a (t-1),
puisqu'ils sont tous des itemsets fermés fréquents [50]. En
effet, ils sont eux-mêmes leur propres générateurs uniques
[47].
Comme dans le cas de l'algorithme CLOSE, et pour chaque
itération, A-CLOSE utilise un trie pour accélérer le
calcul du support des candidats et un autre trie pour stocker l'ensemble des
générateurs minimaux fréquents retenus. La fermeture de
chaque générateur minimal fréquent sera
complétée lors de la deuxième étape.
A-CLOSE nécessite au plus (1/1+1) accès au
contexte d'extraction (1/1 étant la taille maximale possible d'un
candidat générateur minimal). Les 1/1 accès sont
nécessaires pour déterminer l'ensemble des
générateurs minimaux fréquents, alors que le dernier
accès permet éventuellement de calculer les fermetures des
générateurs retenus.
2.2.1.3 L'algorithme TITANIC
L'algorithme TITANIC a été proposé par
Stumme et al. [55, 57], pour la découverte des itemsets fermés
fréquents. L'idée clé est de minimiser le coUt du calcul
des fermetures en adoptant un mécanisme de comptage par inférence
[6]. Ainsi, l'algorithme traverse
l'espace de recherche par niveau en focalisant sur la
determination des generateurs minimaux (ou itemsets cles [55, 57]) frequents
des differentes classes d'equivalence induites par l'operateur de fermeture
ã.
Une des particularites de TITANIC est qu'il considere,
contrairement a CLOSE et A-CLOSE, l'ensemble vide (0) comme etant un generateur
minimal. Pour calculer la fermeture de l'ensemble vide, TITANIC collecte les
items de meme support que cet ensemble, cad qui se repetent dans toutes les
transactions. Ainsi, l'ensemble vide est le generateur minimal de support egal
au nombre de transactions du contexte d'extraction (cad 101).
En plus, TITANIC evite le balayage supplementaire (des generateurs
minimaux frequents retenus de taille (k-1)) effectue dans A-CLOSE pour
chaque candidat g de taille k. En effet, TITANIC utilise une
variable dans laquelle il stocke le support estime de g. Ce dernier
est egal au minimum des supports des (k-1)-generateurs minimaux
frequents inclus dans g et il doit etre different du support reel
de g sinon g n'est pas minimal [55, 57].
De meme que CLOSE et A-CLOSE, TITANIC parcourt l'espace de
recherche par niveau. Il initialise l'ensemble des 1-generateurs minimaux par
les 1-itemsets du contexte d'extraction, tries par ordre lexicographique.
TITANIC calcule alors le support de ces itemsets et determine ensuite la
fermeture de l'ensemble vide. Les items infrequents ou ayant le meme support
que l'ensemble vide ne sont pas des generateurs minimaux frequents. Ensuite, a
chaque iteration k, TITANIC genere un ensemble de candidats moyennant
l'utilisation de la phase combinatoire d'APRIORI-GEN [2]. De cet ensemble, sont
elimines les candidats ne verifiant pas l'ideal d'ordre des generateurs
minimaux frequents. Un acces au contexte d'extraction permet de calculer le
support des candidats non elagues. De ces candidats, sont elimines les
generateurs infrequents ou ayant des supports reels egaux a leurs supports
estimes. Une fois les k-generateurs minimaux frequents determines,
TITANIC calcule la fermeture des generateurs minimaux frequents retenus lors de
l'iteration precedente (cad de taille (k-1)). Neanmoins, TITANIC evite
l'acces au contexte d'extraction pour calculer les fermetures et ceci en
adoptant un mecanisme de comptage par inference [6]. Ainsi, pour chaque
(k-1)-generateur minimal frequent g, TITANIC fait appel a la
fonction CLOSURE [55, 57]. Cette derniere se deroule de la maniere suivante
[55, 57] :
1. Pour alleger les calculs, la fermeture de g,
ã(g), serait egale a l'union des fermetures de ses
sous-ensembles de taille (k - 2), calculees lors de l'iteration
precedente.
2. Ensuite, pour tout item frequent i n'appartenant pas
a ã(g) a ce moment du traitement, i est
ajoute a ã(g) si Supp(g U {i}) =
Supp(g). Deux cas sont a distinguer :
(a) Si g ? {i} est un candidat generateur
minimal, le support de g ? {i} est directement determine.
(b) Si g ? {i} n'est pas un candidat
generateur minimal, TITANIC utilise un mecanisme de comptage par inference [6]
permettant de trouver le support de g ? {i} sans acceder au
contexte d'extraction. Ce mecanisme est fonde sur le fait que le support d'un
itemset non generateur minimal peut etre calcule en utilisant l'ensemble des
generateurs minimaux frequents GMFK et la bordure negative des
generateurs minimaux notee GBd- [39]. Cette
dernière est formee par l'ensemble des generateurs minimaux infrequents
dont tous leurs sous-ensembles sont des generateurs minimaux
frequents. TITANIC utilise alors la proposition suivante :
Proposition 2 [55, 571 Soit GMK l'ensemble des
generateurs minimaux ex-traits du contexte K. Si X est un
itemset non generateur minimal alors SuPP(X) > min
{SuPP(g) | g ? GMK et g ? X}.
Pour pouvoir utiliser cette proposition et etant donne que
X peut etre un itemset non frequent, TITANIC est amene a gerer le stockage
de l'ensemble GBd-. En effet, si TITANIC se
contente seulement des generateurs minimaux frequents pour calculer le support
de X, ce support serait egal au minimum des supports des generateurs
minimaux frequents contenus dans X. Ceci contredit le fait que
X pourrait etre infrequent. Ainsi, l'affirmation de Stumme et al. dans
[57] de pouvoir supprimer les generateurs minimaux infrequents est erronee.
L'execution de l'algorithme TITANIC prend fin quand il n'y plus
de candidats a generer.
TITANIC utilise la même structure de donnees (cad un
trie) que les algorithmes CLOSE et A-CLOSE. Il necessite au pire des cas
|I| accès au contexte d'extraction (|I| etant la taille
maximale possible d'un candidat generateur minimal).
2.2.2 Les algorithmes de type
!!Diviser-et-générer!!
Dans cette section, nous allons nous interesser aux
algorithmes les plus connus operant selon la strategie "Diviser-et-generer"
[34]. Ces algorithmes ne font qu'enumerer les item-sets fermes frequents [51].
Cette strategie, "Diviser-et-generer", est consideree comme une solution au
principal handicap des algorithmes de type "Generer-et-tester", a savoir la
generation d'un grand nombre de candidats. Malgre l'existence de plusieurs
algorithmes
opérant selon cette stratégie tels que CLOSET+
[65] et FP-CLOSE [30], ces derniers ne sont que des améliorations ou des
variantes de l'algorithme CLOSET proposé par Pei et al. [51].
L'algorithme CLOSET utilise une structure de données
avancée, basée sur la notion de trie, appelée arbre
FP-Tree [34, 35]. La particularité de cette structure réside dans
le fait que plusieurs transactions partagent un même chemin, de
longueur n dans l'arbre FP-Tree, s'ils ont les n premiers
items en commun. L'algorithme CLOSET effectue le processus d'extraction des
itemsets fermés fréquents en deux étapes successives [9]
:
1. Construction de l'arbre FP-Tree : Les items des
transactions sont ordonnés par support décroissant après
avoir élagué les items infréquents. Ensuite, l'arbre
FP-Tree est construit comme suit. Premièrement, le nceud racine est
créé et est étiqueté par "root". Pour chaque
transaction du contexte, les items sont traités et une branche est
créée suivant le besoin. Dans chaque nceud de la structure
FP-Tree, il y a un compteur qui garde la trace du nombre de transactions
partageant ce nceud. Dans le cas oft une transaction présente un
préfixe commun avec une branche dans le FP-Tree, le compteur de chaque
nceud appartenant a ce préfixe est incrémenté et une
sous-branche va être créée contenant le reste des items de
la transaction.
2. Exploration de l'arbre FP-Tree : Au lieu d'une exploration
en largeur d'abord des itemsets fermés candidats, CLOSET effectue une
partition de l'espace de recherche pour effectuer ensuite une exploration en
profondeur d'abord. Ainsi, il commence par considérer les 1-itemsets
fréquents, triés par ordre croissant de leurs supports
respectifs, et examine seulement leurs sous-contextes conditionnels (ou FP-Tree
conditionnels) [9]. Un sous-contexte conditionnel ne contient que les items qui
co-occurrent avec le 1-itemset en question. Le FP-Tree conditionnel
associé est construit et le processus se poursuit d'une manière
recursive.
Pour faciliter le parcours d'un FP-Tree, une table d'entete
lui est associée. Cette table contient la liste des items contenus dans
ce FP-Tree, triés par ordre décroissant de leurs supports
respectifs. Pour chaque item, son support est stocké ainsi qu'un lien
vers le premier nceud qui le contient. Des liens inter-nceuds permettent de
lier tous les nceuds contenant un même item dans le FP-Tree [34, 35].
concatenation des 1-itemsets qui sont aussi frequents que
p (dans le sous-contexte conditionnel).
P2 : Il n'y a nul besoin de developper un sous-contexte
conditionnel d'un itemset p qui est inclus dans un itemset ferme
frequent dejà decouvert c, tel que
Supp(p)=Supp(c). Dans ce cas, p est dit couvert
par c.
Pour calculer les fermetures, CLOSET traite les items
frequents un par un en commencant par le moins frequent. Pour chaque item
i, il construit son FP-Tree conditionnel. Un FP-Tree conditionnel relatif
à un item i contient l'ensemble des transactions on se trouve
i. Dans ce FP-Tree, i est exclu ainsi que les items
dejà traites, puisque tous les itemsets fermes frequents contenant ces
items traites ont ete dejà determines. Le FP-Tree conditionnel ne
contient alors que les items non traites et dont le support est superieur ou
egal à minsup. Cette condition est imposee pour ne generer que des
itemsets fermes qui sont frequents. La fermeture de i est egale
à sa concatenation avec les items de même support (d'apres P1). Le
même traitement est realise pour tout itemset forme par la concatenation
de i avec un item, dont le support dans le FP-Tree conditionnel est
different de celui de i. Ainsi, d'une maniere recursive et en operant
en profondeur d'abord, CLOSET determine tous les itemsets fermes frequents.
Pour reduire le cont du processus d'extraction, CLOSET ne developpe le FP-Tree
conditionnel d'un itemset p qu'apres avoir verifie que p
n'est pas couvert par un itemset ferme frequent c dejà
decouvert (d'apres P2) car sinon la fermeture de p est dejà
extraite.
Il est important de noter que CLOSET est gourmand en espace
memoire [9]. En effet, les appels recursifs necessitent de maintenir un nombre
generalement eleve de FP-Trees en memoire centrale. De plus, CLOSET necessite
de maintenir en memoire centrale les itemsets fermes frequents dejà
trouves et ceci afin d'accelerer le test associe à la propriete P2. Les
auteurs de CLOSET [51] affirment que leur algorithme ne genere pas de candidats
contrairement aux algorithmes de la premiere strategie. Cependant, pour des
supports bas et dans le cas de contextes epars, chaque generateur frequent est
un ferme. Ainsi, les deux proprietes sur lesquelles se base CLOSET ne donnent
plus l'effet escompte. D'on, l'itemset ferme frequent, extrait à partir
du sous-contexte conditionnel d'un itemset X, est egal à
X et n'est couvert par aucun itemset ferme frequent dejà trouve. De
ce fait, CLOSET construit recursivement un FP-tree conditionnel pour tout
itemset frequent (qui est lui même son propre ferme). Ceci rend eleve le
nombre de FP-trees presents en même temps en memoire centrale.
En plus du cont non negligeable de l'etape du tri du contexte
d'extraction, la structure
FP-Tree proposee est malheureusement non adaptee pour un
processus de fouille interactif, dans lequel l'utilisateur peut etre amene a
varier la valeur du support [9]. Dans ce cas, la structure doit etre
entièrement reconstruite [9]. Les travaux presentes dans [8, 19]
permettent de pallier cette insuffisance.
Notons que, l'algorithme CLOSET necessite deux accès au
contexte d'extraction : un premier accès pour extraire la liste des
1-itemsets frequents et un deuxième pour construire l'arbre FP-Tree.
2.2.3 Les algorithmes hybrides
Dans cette section, nous allons nous interesser aux
algorithmes adoptant la strategie hybride. Ces algorithmes ne font qu'enumerer
les itemsets fermes frequents [69]. Cette strategie evite le goulot
d'etranglement de la première strategie, a savoir la generation d'un
nombre eleve de candidats, et ceci en ne generant qu'un seul candidat a la
fois. En plus, cette strategie explore l'espace de recherche en profondeur
d'abord tel que les algorithmes bases sur la strategie
"Diviser-et-générer". Cependant, les algorithmes hybrides ne
divisent pas le contexte d'extraction en sous-contextes, evitant ainsi une
saturation de la memoire.
Dans la litterature actuelle, nous trouvons essentiellement un
seul algorithme implementant cette strategie, a savoir l'algorithme CHARM [69].
Des ameliorations de cet algorithme, tels que LCM [60, 61, 62] et DCI-CLOSED
[43, 44], ont ete aussi proposees.
L'algorithme CHARM a ete propose par Zaki et al. [69]. Il a
plusieurs caracteristiques, qui le distinguent des algorithmes adoptant les
deux premières strategies. En effet, contrairement a ces algorithmes qui
n'exploitent que l'espace des itemsets (fermes), CHARM explore simultanement
l'espace des itemsets fermes ainsi que celui des transactions. Pour cela, il
utilise une structure d'arbre particulière appelee IT-Tree
(Itemset-Tidset Tree) introduite dans [69]. Dans cette structure, chaque nceud
est forme par un couple compose par un itemset ferme frequent candidat ainsi
que l'ensemble des transactions auxquelles il appartient (cad son extension ou
tidset [69]).
CHARM determine tous les itemsets fermes frequents en
parcourant l'arbre IT-Tree a partir de la racine de gauche a droite et en
profondeur d'abord, en considerant un par un les 1-itemsets frequents tries par
ordre lexicographique. Le parcours en profondeur d'abord rappelle la strategie
"Diviser-et-générer".
L'algorithme CHARM opere de la maniere suivante : pour chaque
deux candidats item-sets fermes frequents A et B avant les
mimes nceuds parents, CHARM teste s'ils sont ou non des fermes et ceci en
comparant leurs tidsets. Pour cela, il distingue quatre cas [69] :
1. Si ø(A) =
ø(B) alors ã(A) =
ã(B) = ã(AUB). Ainsi, ni
A, ni B ne sont des itemsets fermes frequents. Alors, CHARM
remplace toutes les occurrences de A dans l'arbre IT-Tree par
(A U B) et elimine B de l'arbre.
2. Si ø(A) C
ø(B) alors ã(A)
ã(B) et ã(A)=
ã(A U B). Alors, l'itemset A ne peut etre un
itemset ferme frequent. Dans ce cas, toutes les occurrences de A dans
l'arbre IT-Tree sont remplacees par (A UB). B n'est pas
supprime de l'arbre IT-Tree car il peut etre un generateur d'un autre itemset
ferme frequent.
3. Si ø(A) D
ø(B) alors ã(A)
ã(B) et ã(B)=
ã(A U B). Alors, l'itemset B ne peut etre un
itemset ferme frequent. Dans un tel cas, B est elimine de l'arbre
IT-Tree et (A U B) est ajoute comme descendant de A.
Ce dernier n'est pas supprime de l'arbre IT-Tree puisqu'il peut etre un
generateur d'un autre itemset ferme frequent.
4. Si ø(A)
ø(B) alors ã(A)
ã(B) ã(A U B). Ici, l'algorithme
CHARM ajoute (A U B) comme descendant de A si et seulement
si (A U B) est frequent ; sinon l'arbre IT-Tree reste inchange (cad
dans le cas oft (A U B) est un itemset infrequent).
Dans les quatre cas mentionnes ci-dessus, la comparaison entre
ø(A) et ø(B) se fait en
effectuant l'intersection de ø(A) et
ø(B). La generation de (A U B) a partir de
A et B nous rappelle la phase combinatoire d'APRiORi-GEN [2].
Cependant, le resultat est toujours un candidat unique.
CHARM genere un candidat et calcule son support dans la
même etape. Si un candidat A ne peut plus etre etendu, CHARM ne
l'ajoute dans la liste des itemsets fermes frequents retenus que s'il n'est pas
couvert par un autre itemset ferme frequent appartenant a cette liste. Si
A est couvert alors il ne represente pas un itemset ferme. Notons que, ce
même test est effectue par CLOSET avant de developper un contexte
d'extraction conditionnel. Pour accelerer ce test de couverture, CHARM utilise
une table de hachage pour stocker les itemsets fermes frequents retenus [69].
Dans le cas oft A ne peut plus etre etendu, CHARM libere le lien qui
lie le nceud representant A et le nceud parent, car ce lien ne sert
plus a rien.
CHARM est ameliore par l'utilisation d'une representation de
donnees appelee Diffset [68] permettant un stockage incremental des
tidsets [9]. Dans cette structure, CHARM ne fait qu'enregistrer, pour chaque
candidat itemset ferme frequent, la difference qui existe
entre son intention et l'intention de son parent immediat.
Diffset permet d'accelerer le calcul des quatre cas mentionnes plus haut, etant
donne que l'intersection des transactions, resultat de la difference entre
ø(A) et ø(P) d'une part et
entre ø(B) et ø(P) d'autre
part (tel que P est le parent immediat de A et B),
est nettement plus rapide que l'intersection de ø(A)
et ø(B) [69]. Un autre avantage de Diffset est qu'il
permet aussi de reduire la memoire necessaire pour stocker les informations
relatives aux candidats contenus dans l'arbre IT-Tree [69] et ceci en reduisant
le stockage redondant des tidsets.
En revanche, l'inconvenient majeur de l'algorithme CHARM
reside dans le fait qu'il est exigeant en espace memoire. En effet, le fait de
stocker les itemsets et leurs tidsets ne fait qu'accroitre la quantite d'espace
memoire utilisee [9].
Enfin, signalons que l'algorithme CHARM necessite un seul
acces au contexte d'extraction pour determiner les listes des transactions
auxquelles appartiennent les items frequents du contexte en question.
2.3 Discussion
Il est bien connu que l'etape la plus complexe et la plus
consommatrice en temps d'execution est celle de la decouverte des itemsets
(fermes) frequents. Comme effet de bord, cette etape peut generer un nombre
important d'itemsets frequents et par consequent de regles d'association. Les
algorithmes bases sur l'extraction des itemsets fermes frequents sont une
nouvelle alternative avec la promesse claire de reduire considerablement la
taille de l'ensemble des regles d'association. Durant notre description des
principaux algorithmes d'extraction des itemsets fermes frequents, nous les
avons distingue par rapport A la strategie d'exploration adoptee. D'autres
criteres peuvent être utilises pour classer ces algorithmes tels que [43]
:
- Choix des generateurs : certains algorithmes ont choisi les
generateurs minimaux comme generateurs de chaque classe d'equivalence (cas de
l'algorithme CLOSE) tandis que d'autres optent pour une technique se basant sur
le fait qu'a chaque fois qu'un generateur est trouve, sa fermeture est
calculee. Ceci permettrait de creer de nouveaux generateurs a partir des
itemsets fermes frequents trouves (cas de l'algorithme CLOSET).
- Calcul de la fermeture : le calcul de la fermeture peut
être fait selon deux methodes. Dans la premiere methode, chaque fois
qu'un sous-ensemble de l'ensemble total des generateurs - caracterise par la
même taille des generateurs - est determine, la fermeture
de chaque generateur appartenant a ce sous-ensemble est
calculee (cas de l'algorithme CLOSE). Dans l'autre methode, le calcul des
fermetures de l'ensemble de tous les generateurs se fait dans une meme etape
(cas de l'algorithme A-CLOSE).
Le calcul de la fermeture d'un itemset X differe
aussi par le fait qu'il peut etre realise soit par des operations
d'intersection sur les transactions auxquelles appartient X (cad
son extension), soit d'une maniere incrementale en cherchant les items
appartenant a la fermeture d'un itemset X et qui verifient la relation
suivante : ø(X) C ø(i) =
i E ã(X), avec i un item
n'appartenant pas a X [55, 57].
Le probleme de decouverte des regles d'association, considere
sous l'optique de decouverte des itemsets fermes, pourrait etre reformule comme
suit [9] :
1. Decouvrir deux "systemes de fermeture" distincts, cad
ensembles d'ensembles fermes sous l'operateur d'intersection, a savoir
l'ensemble des itemsets fermes et l'ensemble des generateurs minimaux. Aussi,
la relation d'ordre sous-jacente devrait etre determinee.
2. A partir de toute l'information collectee, cad les deux
"systemes de fermeture" et la relation d'ordre sous-jacente, deriver des bases
generiques de regles d'association.
A la lumière de cette reformulation et en tenant compte
de l'objectif de reduire le nombre de regles d'association, nous considerons
les caracteristiques (ou dimensions) suivantes permettant de determiner les
buts realises (construction de la relation d'ordre, etc.) et de montrer les
differences majeures qui pourraient exister entre les algorithmes passes en
revue (strategie adoptee, elements generes, etc.). Ces caracteristiques sont
les suivantes
[9] :
1. Strategie d'exploration : trois strategies principales
sont utilisees afin d'explorer l'espace de recherche : "Generer-et-tester",
"Diviser-et-generer" et une strategie hybride qui beneficie des
avantages des deux premieres.
2. Espace de recherche : la valeur "exhaustive" de cette
dimension indique que toutes les transactions seront prises en compte lors du
premier balayage. En revanche, la valeur "echantillon" signifie que seul un
echantillon du contexte d'extraction sera considere du moins pour un premier
balayage [59].
3. Type du format des donnees : cette dimension peut prendre
comme valeur : format de donnees horizontal (etendu), format de donnees
vertical, relationnel, texte brut, donnees multimedia.
4. Structure de donnees : differentes structures de donnees
peuvent etre utilisees
pour stocker les informations nécessaires a
l'exécution d'un algorithme (pour stocker les candidats, le contexte
d'extraction, etc.). La structure la plus privilégiée semble etre
la structure trie.
5. Calcul des fermetures : nous distinguons principalement
deux faZons pour calculer la fermeture d'un générateur (minimal)
: soit via des intersections des transactions auxquelles il appartient (cad son
extension), soit d'une maniere incrémentale, cad via des recherches des
items susceptibles d'appartenir a la fermeture en question.
6. Elements generes en sortie : cette caractéristique
indique les éléments générés en sortie.
7. Ordre partiel : cette caractéristique indique si la
relation d'ordre sous-jacente des itemsets fermés fréquents a
été déterminée ou non.
Le tableau 2.1 résume les principales
caractéristiques des algorithmes de génération d'itemsets
fermés fréquents par rapport aux dimensions
présentées ci-dessus.
Une premiere constatation qui se dégage de ce tableau
est qu'aucun algorithme n'est arrivé a tenir la promesse avancée
par cette nouvelle alternative d'algorithmes en matiere de réduction de
la redondance des regles d'association. L'origine de cet échec
réside dans le fait qu'aucun de ces algorithmes n'a pu supporter le coUt
élevé de la construction de la relation d'ordre (cf. derniere
ligne du tableau 2.1). Cette derniere est une condition sine qua non pour
l'obtention de la base générique des regles d'association
approximatives [9].
Une deuxieme constatation concerne la notion de
générateur minimal. En effet, malgré l'importance de cette
derniere dans les bases génériques étant donné
qu'elle permet d'avoir des prémisses minimales, seuls les algorithmes
adoptant la stratégie "Générer-et-tester" permettent
l'extraction des générateurs minimaux (cf. avant derniere ligne
du tableau 2.1). Pour ces algorithmes, l'obtention des regles
génériques exactes peut se faire d'une maniere directe
étant donné qu'ils extraient les générateurs
minimaux fréquents. Pour pouvoir extraire les regles
génériques approximatives, ils nécessitent
l'exécution en aval d'un algorithme permettant de construire la relation
d'ordre partiel, tel que celui proposé par Valtchev et al. [64]. Les
algorithmes adoptant les deux autres stratégies se sont focalisés
sur l'énumération des itemsets fermés fréquents.
Pour obtenir les bases génériques de regles, ces algorithmes
nécessitent alors l'application de deux autres algorithmes. Le premier
permettra de construire l'ordre partiel et le second aura pour objectif de
retrouver les générateurs minimaux fréquents tel que JEN
[23]. Ce dernier permet de retrouver les générateurs minimaux a
condition que l'ordre partiel soit déjà construit.
|
CLOSE
|
A-CLOSE
|
TITANIC
|
CLOSET
|
CHARM
|
Stratégie d'ex-
ploration
|
Générer-et- tester
|
Générer-et- tester
|
Générer-et- tester
|
Diviser-et- générer
|
Hybride
|
Espace de re-
cherche
|
Exhaustive
|
Exhaustive
|
Exhaustive
|
Exhaustive
|
Exhaustive
|
Type du format des données
|
Format ho- rizontal
|
Format ho- rizontal
|
Format ho- rizontal
|
Format ho- rizontal
|
Format ho-rizontal ou vertical
|
Structure de
données
|
Trie
|
Trie
|
Trie
|
Trie
|
Trie
|
Calcul des fer- metures
|
Calcul d'intersec- tions des extensions
|
Calcul d'intersec- tions des extensions
|
Calcul incrémental
|
Calcul incrémental
|
Calcul incrémental
|
Eléments géné- rés en sortie
|
Générateurs minimaux
et itemsets fermés fréquents
|
Générateurs minimaux
et itemsets fermés fréquents
|
Générateurs minimaux
et itemsets
fermés fréquents
|
Itemsets fermés fréquents
|
Itemsets fermés fréquents
|
Ordre partiel
|
Non
|
Non
|
Non
|
Non
|
Non
|
TAB . 2.1: Caractéristiques des algorithmes CLOSE,
A-CLOSE, TITANIC, CLOSET et CHARM
Une troisième constatation concerne le colit induit par
le calcul de la fermeture. En effet, bien que ces algorithmes constituent une
alternative intéressante, dans le cas de contextes d'extraction denses,
leurs performances sont faibles dans le cas des contextes épars. En
effet, dans ce type de contexte, l'espace de recherche des itemsets
fermés fréquents tend a se confondre avec celui des itemsets
fréquents.
En comparant les algorithmes décrits dans ce chapitre,
nous pouvons noter aussi les remarques suivantes :
Parmi les cinq algorithmes, seul TITANIC considère la
classe d'équivalence dont l'en- semble vide est le
générateur minimal. Ainsi, il est le seul algorithme dont les
éléments générés permettent de construire
un treillis d'Iceberg en utilisant par exemple l'algo-
rithme proposé par Valtchev et al. [64].
CLOSE, A-CLOSE et TITANIC ont pour désavantage de
calculer la même fermeture plusieurs fois dans le cas oft elle admet
plusieurs générateurs minimaux. Cette lacune est
évitée par CLOSET et CHARM grace aux tests de couverture.
Cependant, afin d'accélérer ces tests, CLOSET et CHARM sont
obligés de maintenir en mémoire centrale, l'ensemble des itemsets
fermés fréquents trouvés. Le travail
présenté dans [43] essaie d'extraire les itemsets fermés
fréquents sans duplication et sans les maintenir en mémoire
centrale. Pour cela, les auteurs introduisent une stratégie permettant
la détection des duplications dans le calcul des fermetures.
Les stratégies d'élagage adoptées par
TITANIC sont une amélioration de celle de A-CLOSE. En effet, en
utilisant le support estimé d'un candidat, TITANIC évite le coUt
des balayages effectués par A-CLOSE pour comparer le support d'un
candidat générateur minimal de taille k aux supports de
ses sous-ensembles de taille (k-1). Les stratégies
d'élagage adoptées par CLOSET et celles utilisées dans
CHARM peuvent aussi être considérées comme les
mêmes.
2.4 Conclusion
Dans ce chapitre, nous avons présenté un
état de l'art sur les algorithmes d'extraction des itemsets
fermés (fréquents). Le constat majeur est que ces algorithmes se
sont focalisés sur l'extraction des itemsets fermés
fréquents en négligeant la composante relation d'ordre partiel
sous-jacente. Cette relation d'ordre partiel est primordiale pour la
génération de regles génériques approximatives. De
même, seuls les algorithmes adoptant la stratégie
"Générer-et-tester" permettent l'extraction des
générateurs minimaux. Ces derniers sont indispensables pour
l'obtention de regles d'association informatives (cad a prémisse
minimale et a conclusion maximale).
Dans le chapitre suivant, nous allons présenter un
nouvel algorithme, appelé PRINCE, permettant l'extraction de bases
génériques de regles d'association. Pour atteindre cet objectif,
l'algorithme PRINCE [33, 32] extrait les itemsets fermés
fréquents, leurs générateurs minimaux associés
ainsi que la relation d'ordre partiel tout en réduisant le coUt du
calcul des fermetures.
Chapitre 3
L'algorithme PRINCE
3.1 Introduction
L'utilisation des regles d'association est un domaine en
pleine expansion. En effet, de nos jours, l'exploitation des regles
d'association dépasse le cadre du panier de la ménagere,
introduit par Agrawal et al. en 1993 [1], pour s'intéresser a plusieurs
autres domaines tels que l'aide a planification commerciale [42], l'aide a la
recherche médicale [20], l'analyse des images, de données
spatiales, géographiques, etc [54]. Cependant, l'extraction des regles
d'association a partir des itemsets fréquents génere un nombre
généralement tres élevé de regles même pour
des contextes de tailles raisonnables (quelques milliers d'objets) [67]. Ainsi,
l'exploitation et la visualisation de ces regles devient de loin une
tâche facile pour l'utilisateur. Pour pallier cet inconvénient,
l'approche basée sur l'extraction des itemsets fermés
fréquents propose d'extraire, sans perte d'information, un sous-ensemble
de regles, a partir duquel nous pouvons retrouver toutes les autres regles
(redondantes) [5, 56, 67]. Ainsi, les bases génériques formant
les regles d'association informatives [4, 5] ont été introduites
pour obtenir des ensembles de regles informatives et pour présenter a
l'utilisateur les regles les plus pertinentes sans perte d'information. Un
survol critique des algorithmes, basés sur l'extraction des itemsets
fermés, montre que ces algorithmes ont failli a leurs objectifs [9]. En
effet, l'obtention des bases génériques de regles
nécessite l'extraction de trois composantes, a savoir les itemsets
fermés fréquents, leurs générateurs minimaux
associés ainsi que la relation d'ordre partiel sous-jacente. Cette
relation d'ordre partiel est une condition sine qua non pour l'obtention des
regles d'association génériques approximatives [9]. Les
générateurs minimaux permettent d'obtenir les regles les plus
informatives pour l'utilisateur. Les notions d'ordre partiel et de
générateur mi-
nimal sont donc primordiales. Cependant, la quasi-totalite des
algorithmes reposant sur cette approche, cad celle de l'extraction des itemsets
fermes frequents, se sont focalises sur l'extraction de la premiere composante,
cad les itemsets fermes frequents, en negligeant les deux dernieres
composantes. Seuls les algorithmes adoptant la strategie "Generer-ettester"
font mieux en permettant aussi l'extraction des generateurs minimaux, sans se
soucier de la construction de la relation d'ordre partiel.
Dans ce chapitre, nous allons introduire un nouvel algorithme,
appele PRINCE, pour l'extraction des itemsets fermes frequents, leurs
generateurs minimaux respectifs ainsi que la determination de la relation
d'ordre partiel. A cet effet, PRINCE construit une structure partiellement
ordonnee appelee treillis des generateurs minimaux [7]. La principale
originalite de l'algorithme PRINCE reside dans le fait que cette relation
d'ordre est maintenue entre les generateurs minimaux et non plus entre les
itemsets fermes. Ainsi, les bases generiques de regles sont obtenues par un
simple balayage de la structure partiellement ordonnee sans avoir a calculer
les fermetures.
Dans ce chapitre, nous commencons par decrire les etapes
constituant l'algorithme PRINCE ainsi que la structure de donnees qu'il
utilise. Ensuite, nous montrons sa validite, sa terminaison ainsi que sa
completude. Enfin, nous cloturons la presentation de notre algorithme par une
etude de sa complexite theorique.
3.2 L 'algorithme PRINCE
Dans cette section, nous allons introduire un nouvel
algorithme, appele PRINCE, dont l'objectif principal est de pallier la
principale lacune des algorithmes dedies a l'extraction des itemsets fermes
frequents, cad ne pas construire la relation d'ordre partiel. La principale
originalite de PRINCE est qu'il construit une structure partiellement ordonnee
appelee treillis des generateurs minimaux [7]. Dans cette structure, l'ordre
partiel est maintenu non plus entre les itemsets fermes frequents mais entre
leurs generateurs minimaux associes. De plus, PRINCE met en place un mecanisme
de gestion des classes d'equivalence permettant de generer la liste integrale
des itemsets fermes frequents sans duplication et sans recours aux tests de
couvertures. Il permet aussi de reduire d'une maniere notable le cofit du
calcul des fermetures et ceci en utilisant les notions de blo queur minimal et
de face introduites par Pfaltz et Taylor dans [52].
support minsup et le seuil minimal de confiance minconf. Il
donne en sortie : la liste des itemsets fermes frequents, leurs generateurs
minimaux associes ainsi que les bases generiques de regles. PRINCE opere en
trois etapes successives :
1. Determination des generateurs minimaux ;
2. Construction du treillis des generateurs minimaux ;
3. Extraction des bases generiques informatives de regles. 3.2.1
Determination des generateurs minimaux
Avant de commencer la description de cette premiere etape, nous
allons commencer par introduire la definition d'un treillis des generateurs
minimaux :
Definition 6 [7] Un treillis des generateurs minimaux est une
structure equivalente au treillis d'Iceberg tel que dans cha que
classe d'equivalence, nous ne trouvons que les generateurs minimaux frequents
correspondants.
En adoptant la strategie "Generer-et-tester", l'algorithme
PRINCE parcourt l'espace de recherche par niveau pour determiner l'ensemble des
generateurs minimaux frequents, note gMFK, ainsi que la bordure
negative des generateurs minimaux, notee gBd-.
PRINCE utilise, dans cette etape, les memes strategies d'elagage que TITANIC,
cad minsup, l'ideal d'ordre regissant des generateurs minimaux frequents et le
support estime.
Le pseudo-code relatif a cette etape est donne par la procedure
GEN-GMs (cf. Algorithme 1). Les notations utilisees sont resumees dans le
tableau 3.1.
La procedure GEN-GMs prend en entree le contexte
d'extraction 1C et le support minimal minsup. Elle donne en sortie
l'ensemble des generateurs minimaux frequents gMFK de faZon a pouvoir
les parcourir par ordre decroissant de leurs supports respectifs lors de la
deuxieme etape de l'algorithme PRINCE. gMFK est alors
considere comme etant divise en plusieurs sous-ensembles. Chaque sous-ensemble
est caracterise par la meme valeur du support. Ainsi, chaque fois qu'un
generateur minimal frequent est determine, il est ajoute a l'ensemble
representant son support. La procedure GEN-GMs garde aussi la trace des
generateurs minimaux infrequents, formant la bordure negative
gBd-, afin de les utiliser lors de la deuxieme
etape.
k : un compteur qui indique l'iteration courante. Durant
la ki`eme iteration, tous les k-generateurs minimaux
sont determines.
GMCk : ensemble des k-generateurs minimaux
candidats. GMFk : ensemble des k-generateurs minimaux
frequents.
GMFK : ensemble des generateurs minimaux frequents tries
par ordre decroissant du support.
GBd- : bordure negative des generateurs
minimaux.
Chaque element c de GMCk ou de GMFk
est caracterise par les champs suivants :
1. support-reel : support reel de c.
2. sous-ens-directs : liste des sous-ensembles de c de
taille (k-1).
Chaque element c de GMCk est aussi
caracterise par un support estime (le champ support-estime ) et qui sera
utilise pour eliminer les candidats non generateurs minimaux.
TAB . 3.1 -- Notations utilisees dans la procedure GEN-GMs

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1 Procedure : GEN-GMs
Donnees : - K : contexte d'extraction, minsup.
Resultats :
1. GMFK : ensemble des générateurs
minimaux fréquents.
2. GBd- : bordure négative
des générateurs minimaux. 2 debut
GMC1 = I ;
CALCUL-SUPPORT (GMC1);
Ø.support-réel =1O1; GMF0 =
{Ø}; pour chaque (c ? GMC1) faire si
(c.support-réel = 1O1) alors
ã(Ø)=ã(Ø) ?
c;
sinon
si (c.support-réel = minsup) alors
c.sous-ens-directs ={Ø};
GMF1=GMF1 ? c;
sinon
pour (k=1; GMFk =~ Ø ;
k++) faire

GMF(k+1)=GEN-GMs-sUIVANT(GMFk);
retourner GMFK=?:GMFi C i =
0..k}
19 fin
Algorithme 1 : GEN-GMs

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
21
22
23
1 Procedure : GEN-GMS-SUIVANT Donnees : - GMFk.
Resultats : - GMF(k+1).
2 debut
/* Phase 1 : APRIORI-GEN. */
GMC(k+1)=APRIORI-GEN(GMFk)
/* Phase 2 : Vérification de l'idéal d'ordre
régissant les générateurs minimaux fréquents. */
pour chaque (c ? GMC(k+1)) faire
c.support-estimé = 1O1; /* support maximal possible */
pour chaque (c1 tel que |c1|
= k et c1 ? c) faire si (c1
?/ GMFk) alors
GMC(k+1) = GMC(k+1) --
c;
arrêt;
fin pour;
c.support-estimé =
min(c.support-estimé,
c1.support-réel ); c.sous-ens-directs =
c.sous-ens-directs ? c1;
/* Phase 3 : Calcul des supports des candidats et élagage.
*/
CALCUL-SUPPORT (GMC(k+1)); pour
chaque (c ? GMC(k+1)) faire si
(c.support-réel c.support-estimé et
c.support-réel = minsup) alors
GMF(k+1)=GMF(k+1) ?
c;
sinon
20

si (c.support-réel < minsup) alors
GBd- = GBd- ? c;
retourner GMF(k+1)
24 fin
Algorithme 2 : GEN-GMS-SUIVANT
(ligne 3). Le support des items est alors calculé via
un accès au contexte d'extraction (ligne 4). Le support de l'ensemble
vide est égal au nombre de transactions du contexte d'extraction, cad
1O1 (ligne 5). L'ensemble vide, étant le
générateur minimal fréquent de taille 0, est
inséré dans gmF0 (ligne 6). Pour tout 1-itemset
c, nous distinguons les trois cas suivants (lignes 7-15) :
1. Si c a le même support que celui de l'ensemble
vide, alors c appartient a la fermeture de l'ensemble vide. Le
1-itemset c n'est donc pas un générateur minimal.
2. Si c a un support supérieur ou égal
a minsup, alors c est un générateur minimal
fréquent et est ajouté a gmF1. Le seul sous-ensemble
direct de c étant l'ensemble vide.
3. Si c est infréquent alors c est
ajouté à la bordure négative gBd- (1).
Ensuite, le parcours se fait par niveau. Pour cela, nous
utilisons la procédure GEN-GMSSUIVANT (lignes 16-17) dont le pseudo-code
est donné par l'algorithme 2. La procédure GEN-GMS-SUIVANT prend
en entrée l'ensemble des générateurs minimaux
fréquents de taille k et retourne l'ensemble des
générateurs minimaux fréquents de taille (k+1).
La première étape de l'algorithme PRINCE prend fin lorsqu'il n'y
a plus de candidats a générer. Elle retourne alors l'ensemble des
générateurs minimaux fréquents gmFK trié
par ordre décroissant des supports (ligne 18).
La première phase de la procédure
GEN-GMS-SUIVANT consiste a effectuer la jointure des générateurs
minimaux fréquents d'une itération k pour obtenir
l'ensemble des candidats (k+1)-générateurs minimaux,
cad gmC(k+1) (lignes 3-4). Lors de la deuxième phase
et pour chaque candidat c E gmC(k+1), nous testons s'il
vérifie l'idéal d'ordre des générateurs minimaux
fréquents (lignes 5-14). En même temps, nous calculons le support
estimé de c et qui est égal au minimum des supports de
ses sous-ensembles de taille k (ligne 13). Des liens vers ces derniers
sont stockés dans le champ sous-ens-directs et qui seront
utilisés dans la seconde étape de l'algorithme PRINCE (ligne 14).
Si c ne vérifie pas l'idéal d'ordre alors c est
éliminé de gmC(k+1) (lignes 9-12). Une fois le
test de l'idéal d'ordre effectué, nous entamons la
troisième phase (lignes 15-22). Ainsi, un accès au contexte
d'extraction permettra de calculer les supports réels des candidats
retenus dans gmC(k+1) (ligne 16). Une fois cet accès
effectué, le support réel de chaque candidat c de
gmC(k+1), est comparé a son support estimé
(lignes 17-22). Si ces derniers sont égaux, c
n'est pas un generateur minimal. Sinon, c est un
generateur minimal et la comparaison de son support reel avec minsup permettra
de le classer parmi les generateurs minimaux frequents ou parmi ceux
infrequents (lignes 18-22). Apres l'execution de ces trois phases, la procedure
GEN-GMS-SUIVANT retourne l'ensemble des generateurs minimaux frequents de
taille (k+1) (ligne 23).
Dans la suite, nous allons noter par support, au lieu de
support-reel, le champ contenant le support reel de chaque generateur minimal
etant donne que nous n'avons plus a distinguer entre le support reel et le
support estime d'un itemset.
3.2.2 Construction du treillis des generateurs minimaux
L'objectif de cette etape est d'organiser les generateurs
minimaux frequents sous forme d'un treillis des generateurs minimaux et sans
effectuer un acces supplementaire au contexte d'extraction. Pour
atteindre cet objectif, les listes des successeurs immediats(2)
seront modifiees d'une maniere iterative. Ainsi, nous parcourons l'ensemble
trie GMFK en introduisant un par un les generateurs minimaux frequents
dans le treillis des generateurs minimaux.
Chaque generateur minimal frequent g de taille
k (k = 1) est introduit dans le treillis des generateurs
minimaux en le comparant avec les successeurs immediats de ses sous-ensembles
de taille (k-1). Rappelons que des liens vers ces derniers ont ete
stockes dans le champ sous-ens-directs des la premiere etape. Ceci est base sur
la propriete d'isotonie de l'operateur de fermeture [21]. En effet,
si g1 est inclus dans g tel que
Ig1l--(k-1) alors la fermeture de
g1, ã(g1), est incluse dans
la fermeture de g, ã(g). Ainsi, la classe
d'equivalence a laquelle appartient g est un successeur -- pas
forcement immediat -- de la classe d'equivalence a laquelle appartient
g1.
En comparant g a la liste des successeurs immediats
de g1, disons L, deux cas sont a distinguer.
Si L est vide alors g est simplement ajoute a L.
Sinon, g est compare aux elements appartenant a L (cf.
Proposition 3 ci-dessous). Pour chaque comparaison, les deux cas presentes dans
la proposition 3 sont alors a distinguer en remplacant X par
g et Y par un des elements de L.
emme 1 [55, 571 Soient X, Y ? I, X ? Y
? Supp(X) = Supp(Y ) ã(X)
= ã(Y ).
Proposition 3 [32] Soient X, Y ? GMFK,
CX et CY dénotent leurs classes d'équivalence
respectives :
a. Si Supp(X) = Supp(Y ) = Supp(X ? Y
) alors X et Y appartiennent a la meme classe
d'équivalence.
b. Si Supp(X) < Supp(Y ) et
Supp(X) = Supp(X ? Y ) alors CX (resp. CY )
est un successeur (resp. prédécesseur) de CY
(resp. CX).
Preuve.
a.
(1) X ? (X ? Y ) ?
Supp(X)=Supp(X ? Y ) ã(X) =
ã(X ? Y ) (d'apres Lemme 1)
(2) Y ? (X ? Y ) ? Supp(Y
)=Supp(X ? Y ) ã(Y ) =
ã(X ? Y ) (d'apres Lemme 1) D'apres (1) et (2),
ã(X)=ã(Y ) et donc X
et Y appartiennent a la même classe d'équivalence
(cad CX et CY sont identiques).
b.
(1) X ? (X ? Y ) ?
Supp(X)=Supp(X ? Y ) ã(X) =
ã(X ? Y ) (d'apres Lemme 1)
(2) Y ? (X ? Y ) ? Supp(Y )
Supp(X ? Y ) ã(Y )? ã(X
? Y ) or d'apres (1), ã(X) =
ã(X ? Y ) et donc ã(Y ) ?
ã(X) d'oft CX (resp. CY ) est un
successeur (resp. prédécesseur) de CY
(resp. CX).

Le calcul du support de (X ? Y ) se fait d'une
maniere directe si (X ? Y ) est un générateur minimal.
Dans ce cas, CX et CY sont incomparables. Sinon, la
proposition 2 (cf. page 29) est appliquée. La recherche du support
s'arrete des qu'un générateur minimal inclus dans (X ? Y
) et ayant un support inférieur strictement a celui de X
et a celui de Y est trouvé. Dans ce cas, CX et
CY sont incomparables.
Lors de ces comparaisons et pour éviter une des lacunes
des algorithmes adoptant la stratégie "Générer-et-tester",
a savoir le calcul redondant des fermetures, PRINCE utilise deux fonctions qui
se completent. Ces fonctions permettent de maintenir la notion de classe
d'équivalence tout au long du traitement. A cet effet, chaque classe
d'équivalence C sera caractérisée par un
représentant, qui est le premier générateur minimal
fréquent introduit dans le treillis des générateurs
minimaux. Tout générateur minimal fréquent g est
initialement considéré comme représentant de
Cg et le restera tant qu'il n'est pas comparé a un
générateur minimal fréquent précédemment
introduit dans le treillis des générateurs minimaux et
appartenant a Cg. Les deux fonctions sont décrites
dans ce qui suit [33, 32] :
1. La fonction GESTION-CLASSE-EQUIV : lors de la comparaison
d'un generateur minimal frequent, disons g, avec les elements d'une
liste L de successeurs immediats d'un autre generateur minimal
frequent, la fonction GESTION-CLASSE-EQUIV est invoquee dans le cas oft
g est compare au representant de sa classe d'equivalence, disons
R. La fonction GESTION-CLASSE-EQUIV remplace alors toutes les occurrences
de g par R dans les listes des successeurs immediats oft
g a ete ajoute. Les comparaisons de g avec le reste des elements
de L s'arretent car elles ont ete effectuees avec R. Ensuite,
le reste des comparaisons a effectuer par g sera fait via le
representant R. Ainsi, pour chaque classe d'equivalence, seul son
representant figure dans les listes des successeurs immediats. Cette fonction
permet d'optimiser la gestion des classes d'equivalence en minimisant les
comparaisons inutiles.
2. La fonction REPRESENTANT : cette fonction permet de
retrouver, pour chaque generateur minimal frequent g, le
representant R de sa classe d'equivalence afin de completer la liste
des successeurs immediats de Cg et qui est stocke au niveau
du representant R. Ceci permet de n'avoir a gerer qu'une seule liste
de successeurs immediats pour tous les generateurs minimaux frequents
appartenant a une meme classe d'equivalence.
Le pseudo-code de la deuxieme etape est donne par la procedure
GEN-ORDRE (cf. Algorithme 3). L'ensemble trie GMFK contient les
generateurs minimaux frequents ex-traits a partir du contexte d'extraction
K. En plus des champs utilises dans la premiere etape (cf. Tableau 3.1
page 42), a chaque element g de GMFK est associe le champ
succs-immediats pour contenir la liste des successeurs immediats de g.
A la fin de l'execution de la procedure GEN-ORDRE, cette liste est vide si
g n'est pas le representant de sa classe d'equivalence ou si g
appartient a une classe d'equivalence n'ayant pas de successeurs. Sinon, cette
liste ne contiendra que des representants.
La procedure GEN-ORDRE introduit un generateur minimal
frequent g dans le treillis des generateurs minimaux en le comparant
aux listes des successeurs immediats de ses sous-ensembles de taille
(k-1) (ligne 3). Soit g1 un des sous-ensembles
de g (ligne 4). La procedure GEN-ORDRE retrouve le representant de la
classe d'equivalence de g1 moyennant l'utilisation de la
fonction REPRESENTANT (ligne 5). Soit L la liste des successeurs
immediats de Cg1 stockee au niveau de son representant
R. L est donc egale a R.succs-immediats . L'ordre
decroissant par rapport aux supports, impose dans l'ensemble GMFK,
permet de ne distinguer que deux cas dans chaque comparaison de g avec
un element de L. En effet, si nous appelons g2 un
des elements de L, alors si la classe
d'equivalence de g et celle de g2
sont comparables, g et g2 doivent verifier une des
deux conditions presentees dans la proposition 3 (avec
X=g, Y=g2 et
Supp(g)=Supp(g2)). Si aucune de ces deux
conditions n'est verifiee, g et g2 appartiennent a
des classes d'equivalence incomparables. Si g et
g2 verifient la premiere condition de la proposition 3, alors
g et g2 appartiennent a la meme classe
d'equivalence (g2 est le representant de
Cg) et les traitements relatifs a la gestion de la classe
d'equivalence Cg sont realises moyennant un appel a la
fonction GESTTON-CLASSE-EQUT (lignes 7-8). Si g et
g2 verifient la deuxieme condition de la proposition 3,
alors Cg est un successeur de
Cg2 et nous comparons d'une maniere recursive
g a la liste des successeurs immediats de g2 (lignes
10-11). Pour le reste des elements de L, disons
L1, nous ne comparons g qu'aux elements ayant un
support strictement superieur a celui de g (ligne 12). En effet,
g n'appartient a aucune des classes d'equivalence representees par les
elements de L1 car sinon il ne serait pas un successeur
de g2. Si nous appelons g3 un des
elements de L1, et si Cg et
Cg3 sont comparables, Cg ne peut etre qu'un
successeur de Cg3 et nous comparons la liste des
successeurs immediats de g3 a g. Si la classe
d'equivalence de g est incomparable avec celles de tous les elements
de L, alors g est ajoute a L (ligne 13-14). Il faut
noter que ces comparaisons sont de nombre fini etant donne que le nombre
d'elements de chaque liste de successeurs immediats est fini et il en est de
meme pour le nombre de generateurs minimaux frequents dejà introduits
dans le treillis des generateurs minimaux.
Remarque 1 · Notons que si nous avons opte
pour n'importe quel autre ordre dans le tri de GMFK (par
exemple, tri par ordre croissant par rapport aux supports) et si g
est incomparable avec tous les elements de L, les
comparaisons de g avec les listes des successeurs immediats des
representants formant L seraient dans ce cas obligatoires. En
effet, deux classes d'equivalence incomparables (celle de g
et celle d'un representant appartenant à L) peuvent avoir des
successeurs en commun existants dejà dans le treillis des
generateurs minimaux. Ainsi, n'importe quel autre choix de tri
augmenterait considerablement le nombre, et par consequent le coat, des
comparaisons pour construire le treillis des generateurs minimaux.
· L'utilisation de la bordure negative des
generateurs minimaux GBd- dans le mecanisme de comptage par
inference [6J est une consequence du fait que son union avec l'ensemble des
generateurs minimaux frequents GMFK forme une representation
concise de l'ensemble des itemsets frequents [39, 40J. Ainsi, en
utilisant l'ensemble resultat de cette union, nous pouvons retrouver
le support de tout itemset sans effectuer un accès au contexte
d'extraction [39, 40J.

3
4
5
6
7
8
9
10
11
12
13
14
1 Procedure : GEN-ORDRE
Donnees : - GMFK.
Resultats : - Les elements de GMFK ordonnes
partiellement sous forme d'un treillis des générateurs
minimaux.
2 debut
pour chaque (g ? GMFK) faire pour chaque
(g1 ? g.sous-ens-directs) faire R =
REPRESENTANT (g1); pour chaque
(g2 ? R.succs-immédiats ) faire si
(g.support = g2.support = Supp(g ?
g2)) alors GESTION-CLASSE-EQUIV
(g,g2); /*g,g2 ?
Cg et g2 est le representant de
Cg*/
sinon
si (g.support < g2.support
et g.support = Supp(g ?g2)) alors g est
compare a g2.succs-immédiats ; /* Pour le
reste des elements de R.succs-immédiats , g n'est
compare qu'avec tout g3 tel que
g3.support > g.support ; */

si (? g2 ?
R.succs-immédiats, Cg et
Cg2 sont incomparables) alors
R.succs-immédiats = R.succs-immédiats ?
{g};
15 fin
Algorithme 3 : GEN-ORDRE
3.2.3 Extraction des bases generiques informatives de
regles
Dans cette etape, PRINCE extrait les regles generiques
informatives valides formees par l'union de la base generique de regles exactes
et de la reduction transitive de la base informative de regles approximatives.
Ainsi, pour chaque classe d'equivalence, PRINCE retrouve l'itemset ferme
frequent correspondant via l'application de la proposition 4 don-nee
ci-dessous. La preuve de la proposition 4 necessite d'introduire les
definitions et le theoreme suivants :
est dit minimal s'il n'existe aucun blo queur
B1 de G inclus dans B.
Definition 8 Soient f, f1 ?
IFFK. Si f couvre f1 dans le treillis
d'Iceberg ( àL, ? ) alors la face
de f par rapport a f1, notée
face~f&f1~, est égale a :
face(fIf1) = f - f1.
Theoreme 2 Soient f ? IFFK et GMf l'ensemble
de ses générateurs minimaux. Si f1 ?
IFFK tel que f couvre f1 dans le treillis
d'Iceberg ( àL,? ) alors
face(fIf1) est un blo queur minimal
de GMf [527.
Proposition 4 Soient f et f1
? IFFK tels que f couvre f1 dans le treillis
d'Iceberg ( àL,? ). Soit GMf
l'ensemble des générateurs minimaux de f. Alors,
l'itemset fermé fréquent f est égal a
: f = ?{g|g ? GMf} ? f1.
Preuve.Etant donne que l'union des elements de GMf
est un bloqueur de GMf, la face(fIf1),
qui est un bloqueur minimal pour GMf d'apres le Theoreme 2, est
incluse dans l'union des elements de GMf. Ainsi, il suffit de calculer
l'union de f1 avec les elements de GMf pour
retrouver f.

Il est a noter que Proposition 4 a pour avantage d'assurer
l'extraction sans redondance de l'ensemble des itemsets fermes
frequents. Le pseudo-code de cette etape est donne par la procedure GEN-BGRs
(cf. Algorithme 4) (3). Nous utilisons les mêmes notations que
celles des algorithmes precedents, auxquelles nous ajoutons le champ iff
pour chaque element de GMFK. Ainsi pour chaque generateur minimal
frequent g, ce champ permet de stocker l'itemset ferme frequent
correspondant a Cg si g est son representant. Dans
la procedure GEN-BGRs, L1 designe la liste des classes
d'equivalence a partir desquelles sont extraites les regles d'association
informatives. Par L2, nous designons la liste des classes
d'equivalence qui couvrent celles formant L1.
L'ensemble des regles informatives exactes BG est
initialement vide (ligne 3). Il en est de même pour l'ensemble des regles
informatives approximatives RI (ligne 4). Le parcours du treillis des
générateurs minimaux s'effectue d'une maniere ascendante en
partant de la classe d'equivalence dont le generateur est l'ensemble vide
(notee CØ). Ainsi, L1 est initialisee a
l'ensemble vide (ligne 5). Rappelons que la fermeture de l'ensemble vide a
dejà ete calculee des la premiere etape en collectant les items qui se
repetent dans toutes
3BGR est l'acronyme de Base Générique de
Regles.
les transactions (cf. ligne 8-9 de l'algorithme 1 page 43). La
liste L2 est initialement vide (ligne 6). Les traitements
de cette étape s'arrêtent lorsqu'il n'y a plus de classes
d'équivalence à partir desquelles seront extraites des regles
génériques (ligne 7). Si la fermeture de l'ensemble vide n'est
pas nulle, la regle exacte informative mettant en jeu l'ensemble vide et sa
fermeture sera extraite (ligne 9-10). Ayant l'ordre partiel construit, GEN-BGRs
extrait les regles approximatives informatives valides mettant en jeu
l'ensemble vide et les itemsets fermés fréquents de la couverture
supérieure de CØ (lignes 11-16). Ces fermetures sont
retrouvées en utilisant la proposition 4 en utilisant les
générateurs minimaux fréquents de chaque classe
d'équivalence et la fermeture de l'ensemble vide (ligne 11). Cette
couverture supérieure est stockée afin que le même
traitement soit réalisé pour les classes d'équivalence la
composant (ligne 12). Une fois les traitements relatifs à la classe
d'équivalence de l'ensemble vide terminés, L1
prendra pour valeur le contenu de L2 (ligne 17) afin de
ré-appliquer le même processus aux classes d'équivalence
qui sont des successeurs immédiats de CØ.
L2 est ré-initialisée au vide (ligne 18) et
contiendra les successeurs immédiats des classes d'équivalence
contenues dans L1. Etant donné qu'une classe
d'équivalence peut avoir plusieurs prédécesseurs
immédiats, un test est réalisé pour vérifier
qu'elle n'a pas déjà été insérée
dans L2. Ce test consiste à vérifier si
l'itemset fermé fréquent correspondant a déjà
été calculé (ligne 12). De la même maniere, GEN-BGRs
traite les niveaux supérieurs du treillis des générateurs
minimaux jusqu'à atteindre ses sommets (cad les classes
d'équivalence n'ayant pas de successeurs). L1 serait
alors vide et la condition de la ligne 7 ne sera plus vérifiée.
Ainsi, la troisieme étape de l'algorithme PRINCE prend fin et toutes les
regles génériques sont extraites.
Exemple 4 Afin d'illustrer le déroulement de
l'algorithme PRINCE, considérons le contexte d'extraction K
donné par la Figure 3.1 pour minsup = 2 et minconf = 0,5. La
première étape permet de déterminer l'ensemble
des générateurs minimaux GMFK trié, ainsi que
la bordure négative GBd-. GMFK
= {(Ø,5),(B,4),(C,4), (E,4), (A,3), (BC,3),(CE,3),
(AB,2), (AE,2)} et GBd-={ (D,1)}. Dans la
deuxième étape, PRINCE parcourt GMFK en comparant cha
que générateur minimal fréquent g de taille k
(k = 1) aux listes des successeurs immédiats de ses
sous-ensembles de taille (k-1). L'ensemble vide, n'ayant aucun
sous-ensemble, est introduit directement dans le treillis des
générateurs minimaux (cf. Figure 3.2.a). Ensuite, B est
ajouté a Ø.succs-immédiats (cf. Figure 3.2.b),
la liste des successeurs immédiats du Ø,
initialement vide. Ensuite, C sera comparé a B. BC étant
un générateur minimal, CB et CC sont alors
incomparables et C est ajouté a Ø.succs-immédiats
(cf. Figure 3.2.c). E est alors comparé a cette liste. En comparant E
1 Procedure : GEN-BGRs Donnees :
1. Le treillis des générateurs minimaux.
2. Le seuil minimum de confiance minconf. Resultats
:
1. L'itemset fermé fréquent de chaque classe
d'équivalence.
2. La base générique de regles exactes
BG.
3. La réduction transitive des regles approximatives
RI.
2 debut
3
4
5
6
7
|
BG=Ø;
RI=Ø;
L1={Ø};
L2=Ø;
tant que (L1 Ø) faire
|
8
|
|
pour chaque (g ? L1) faire
|
9
|
|
|
si (g.iff g) alors
|
10
|
|
|
|
BG = BG ? {(t (g.iff --
t), g.support ) | t ? GMFK et t ?
|
|
|
|
|
Cg} ;
|
11
|
|
|
pour chaque g1 ? g.succs-immediats
faire
|
12
|
|
|
|
si (g1.iff=Ø) alors
|
13
|
|
|
|
|
g1.iff=? {t ? GMFK t ?
Cg1 } ? g.iff;
|
14
|
|
|
|
|
L2=L2 ? {g1};
|
15
|
|
|
|
si ((g1.support/g.support )
= minconf) alors
|
16
|
|
|
|
|
RI = RI ? {(t
(g1.iff -- t), g1.support
, g1.support /g.support ) | t ? GMFK
et t ? Cg};
|
17
|
|
L1= L2;
|
18
|
|
L2= Ø;
|
19 fin
a B, E.support = B.support = Supp(BE) et donc E ? CB
dont B est le représentant (cf. Figure 3.2.d). La fonction
GESTION-CLASSE-EQUIV est alors appli quée et ceci en remplaçant
les occurrences de E par B dans des listes des successeurs immédiats
(dans ce cas, il n'y a aucune occurrence) et en poursuivant les
comparaisons avec B au lieu de E (dans ce cas, il n'y a plus de
comparaisons a faire via E). Les traitements s'arrétent alors pour
E. A ce moment du traitement, Ø.succs-immédiats =
{B,C}. Le générateur minimal fréquent A est alors
comparé a B. Comme AB ? GMFK, CB et CA sont
incomparables. Par contre, en comparant A et C, A.support <
C.support et A.support = Supp(AC) et donc CA est un
successeur de CC. Le générateur minimal A est tout
simplement ajouté a C.succs-immédiats étant
donné qu'elle est encore vide (cf. Figure 3.2.e). BC est
comparé aux listes des successeurs immédiats de B et de
C. La liste des successeurs immédiats de B est vide, BC est
alors ajouté. La liste des successeurs immédiats de C contient A.
Le générateur minimal fréquent BC est alors comparé
a A et comme BC.support = A.support mais BC.support =~
Supp(ABC), CBC et CA sont incomparables et BC est donc
ajouté a C.succs-immédiats (cf. Figure 3.2.f ). CE est
comparé aux listes des successeurs immédiats de C et de E. Celle
de C contient A et BC. CCE et CA sont incomparables, puis
que CE.support = A.support mais CE.support =~ Supp(ACE). En
comparant CE a BC, CE.support = BC.support = Supp(BCE) alors l'itemset
CE va étre affecté a la classe d'équivalence de
BC et les fonctions de gestion des classes d'équivalence sont invo
quées (cf. Figure 3.2.g). En particulier, les comparaisons de
CE aux successeurs immédiats de CE seront faites avec BC.
Comme CE a pour représentant B, BC est donc comparé aux
éléments de B.succs-immédiats. Cependant, comme
B.succs-immédiats ne contient que BC alors les comparaisons se
terminent. Le méme traitement est appli qué pour AB et
AE. Ainsi, la procédure de construction de l'ordre partiel prend
fin. Le treillis des générateurs minimaux obtenu est donné
par la figure 3.2.h. Pour la dérivation des règles
généri ques, le treillis des générateurs
minimaux est parcouru d'une manière ascendante a partir de
Co. Comme ã(Ø) = Ø, il n'y
a donc pas de règle exacte informative relative a
Co. Ø.succs-immédiats={B,C}. L'itemset fermé
fréquent correspondant a CB est alors retrouvé
et est égal a BE (cf. Figure 3.2.i). La règle informative
approximative valide Ø BE de support 4 et de confiance 0,8 sera
alors extraite. Il en est de méme pour la règle
Ø C, ayant les mémes valeurs de support et de confiance que
la précédente. De la méme manière et a
partir de CB et CC, le parcours du treillis se fait d'une
facon ascendante jus qu'a extraire toutes les règles
d'association informatives valides.
A la fin de l'exécution de l'algorithme, nous obtenons le
treillis d'Iceberg associé au
contexte d'extraction K (cf. Figure 3.2.i)(4)
ainsi que la liste les regles informatives valides, donn~e par la Figure
3.3.
3.3 Structure de donnees utilisee
Lors de la premiere etape, nous avons utilise un arbre prefixe
(ou trie) pour stocker les generateurs minimaux retenus. L'utilisation d'un
seul trie a ete motivee par le fait que l'ensemble des generateurs
minimaux GMK d'un contexte d'extraction K forme un ideal
d'ordre. Ainsi, chaque nceud du trie represente un generateur minimal. Ceci a
pour avantage de reduire la necessite en memoire centrale comparee a
l'utilisation d'un trie pour cha que ensemble de generateurs minimaux
de taille k donnee, comme c'est le cas pour les algorithmes CLOSE
[49], A-CLOSE [50] et TITANIC [57]. En effet, l'utilisation d'un seul trie
permet de reduire la redondance dans le stockage des informations relatives aux
generateurs minimaux. Cependant, le fait d'utiliser un seul trie rend l'espace
de recherche nettement plus grand lors de l'execution de quelques operations
telles que la verification de l'ideal d'ordre des generateurs minimaux
frequents oft la recherche des supports adequats dans la deuxieme etape de
l'algorithme PRINCE.
Un autre trie a ete utilise dans chaque iteration k,
de la premiere etape, afin de calculer le support des candidats generateurs
minimaux de taille k. La Figure 3.4 presente un trie qui
stocke quatre candidats generateurs minimaux de taille 3 : ABC, ABD, A CD et
BCD. Dans ce qui suit, nous donnons une presentation succincte de cette
structure de donnees.
Un trie est un arbre de recherche, dont les donnees sont
stockees d'une faZon condensee [12]. La structure de donnees trie etait a
l'origine introduite pour stocker et pour recuperer les mots d'un dictionnaire
[12]. Un trie est un arbre dirige du haut vers le bas comme dans le cas d'un
arbre de hachage. Neanmoins, dans le cas d'un trie, nous ne distinguons pas
entre un nceud interne et un nceud feuille contrairement au cas d'un arbre de
hachage. En effet, dans ce dernier, le nceud interne est caracterise par une
table de hachage et un nceud feuille contient un ensemble d'itemsets [14]. Dans
un trie, la racine est consideree a une profondeur 0, et un nceud a une
profondeur d ne peut pointer qu'aux nceuds de profondeur d +
1. Un pointeur est appele aussi branche ou lien, et est etiquete par une
lettre. Si un nceud u pointe sur un nceud v, u est appele le parent de v et v
un enfant de u.
Regles informatives approximatives
|
R8 : Ø0,80
BE
|
R13 : E0,75 BC
|
R9 : Ø0,80
C
|
R14 : A0,66 BCE
|
R10 : C0,75 A
|
R15 : BC0,66
AE
|
R11 : C0,75 BE
|
R16 : CE0,66
AB
|
R12 : B0,75 CE
|
|
|
A
|
B
|
C
|
D
|
E
|
1
|
×
|
|
×
|
×
|
|
2
|
|
×
|
×
|
|
×
|
3
|
×
|
×
|
×
|
|
×
|
4
|
|
×
|
|
|
×
|
5
|
×
|
×
|
×
|
|
×
|

({C};4)
({B} ;4)
({B};4)
({0};5)
(b)
({0};5)
(a)
({0};5)
FIG . 3.1 -- Contexte d'extraction K
(c)
(e)
{AB} {AE}
({A};3)
({C};4)
({B} {E};4)
({0};5)
(g)
({AB} {AE};2)
({A};3)
({C};4)
({BC} {CE};3)
({B} {E};4)
({0};5)
(h)
({ABCE};2)
({AC};3)
({C};4)
{A} {BC} {CE}
{C}
{0}
({BCE};3)
({BE};4)
{B} {E}
({0};5)
(i)
({C};4)
({B} {E};4)
({C};4)
({B} {E};4)
({0};5)
(d)
({A};3)
({0};5)
({A};3)
({C};4)
({B} {E};4)
({0};5)
(f)
({BC};3)
({BC} {CE};3)
FIG . 3.2 -- Construction du treillis des generateurs minimaux et
le treillis d'Iceberg associes au contexte d'extraction K pour
minsup2.

R1 : EB
R2 : BE
R3 : AC
R4 : BCE
R5 : CEB
R6 : ABCE
R7 : AEBC
Regles informatives exactes

A B
B C
C D
D
C
D
FIG . 3.4 -- Exemple d'un trie
Chaque feuille l represente un mot qui est la concatenation
des lettres qui se trouvent sur le chemin de la racine a l. Notons que si les
premieres k lettres sont les memes pour deux mots, alors les
premieres k branches sur leurs chemins sont aussi les memes [12].
La structure de donnees trie permet de stocker et de recuperer
non seulement les mots mais n'importe quel ensemble E fini et ordonne.
Dans ce cas, chaque lien est etiquete par un element de E et le trie
contient un sous-ensemble F de E s'il y a un chemin oft les
liens sont etiquetes par les elements de F dans l'ordre choisi.
Dans notre contexte, l'alphabet est l'ensemble (ordonne) des
items I. Un k-itemset c :
{i1 < i2 <
i3 < . . . < ik} peut etre vu comme
etant le mot i1i2i3 ...ik
compose des lettres de I. Ainsi, le chemin menant de la racine a
chaque nceud du trie represente un (candidat) generateur minimal.
Plusieurs travaux ont etudie la structure de donnees trie.
Nous mentionnons principalement les travaux de Bodon et al. Dans [14], Bodon et
al. montrent l'interêt de l'utilisation de cette structure de donnees
comparee a la structure de donnee d'arbre de hachage en considerant differents
criteres, tels que la simplicite d'utilisation, l'extraction des informations,
etc. Dans [12, 13], Bodon montre l'efficacite de la structure trie, appliquee
à l'algorithme APRIORI [2], le premier a avoir introduit l'utilisation
de l'arbre de hachage, durant l'etape de calcul des supports des itemsets.
3.4 Preuves theoriques
Dans cette section, nous allons montrer la validite de
l'algorithme PRINCE. Ensuite, nous allons prouver la terminaison et la
completude de l'algorithme PRINCE.
Proposition 5 L'algorithme PRINCE est valide. En effet, il
permet de déterminer tous les itemsets fermés fréquents,
leurs générateurs minimaux associés ainsi que toutes les
règles généri ques informatives valides.
Preuve.
Nous allons montrer la validité de PRINCE en montrant la
validité de chacune des étapes le constituant.
1. Première étape : Détermination des
générateurs minimaux
PRINCE détermine tous les générateurs
minimaux fréquents et la bordure négative des
générateurs minimaux. En effet, PRINCE parcourt l'espace de
recherche par niveau (et donc par taille croissante des candidats
générateurs minimaux). Tout au long de ce parcours, PRINCE
élimine un candidat g de taille k ayant un de ses
sous-ensemble de taille (k-1), disons g1,
vérifiant une des deux conditions suivantes :
(a) g1 n'est pas un générateur minimal
fréquent alors, d'après la propriété d'idéal
d'ordre des générateurs minimaux fréquents (cf.
Proposition 1 page 24), g ne pourra pas être un
générateur minimal fréquent.
(b) g1 a un support égal a celui de
g. Ce dernier ne pourra pas être un générateur minimal
car il existe un sous-ensemble de g (en l'occurrence
g1) ayant la même fermeture que g (cf. Lemme 1
page 46).
Si aucune de ces deux conditions n'est
vérifiée, g est un générateur minimal.
S'il est fréquent, il sera introduit lors de la deuxième
étape dans le treillis des générateurs minimaux. Si
g est infréquent, g appartient a la bordure
négative des générateurs minimaux. En effet, tous les
sous-ensembles de g sont des générateurs minimaux
fréquents et g sera alors utilisé dans le
mécanisme de comptage par inférence utilisé lors de la
deuxième étape.
2. Deuxième étape : Construction du treillis des
générateurs minimaux
Le résultat de cette étape est le treillis des
générateurs minimaux. Cette étape per-met, d'une part, de
déterminer la classe d'équivalence adéquate relative a
chaque générateur minimal fréquent. D'autre part, elle
permet de trouver tous les successeurs immédiats d'une classe
d'équivalence. Montrons que cette étape est valide. Chaque
générateur minimal g est introduit dans le treillis des
générateurs minimaux via sa comparaison avec les listes des
successeurs immédiats des classes d'équivalence aux quelles
appartiennent ses sous-ensembles de taille (k-1). En effet, au moment
de l'introduction de g, les classes d'équivalence de ses
sous-ensembles de taille (k-1) ont déjà
été introduites dans le treillis des générateurs
minimaux. Ceci est dii au fait que le support des générateurs
minimaux fréquents composant chacune de ces classes d'équivalence
est strictement supérieur a celui de g. Ainsi, la fonction
REPRESENTANT permet de retrouver, pour chacun de ses sous-ensembles, disons
g1, le
representant de Cg1 et donc le generateur
minimal frequent oft est stockee la liste L des successeurs immediats
de Cg1 0). Lors des comparaisons de g
avec L, deux cas sont a distinguer (cf. Proposition 3 page 47) :
(a) Si g est compare avec le representant R
de Cg, les comparaisons avec les elements de L
s'arretent. Ensuite, la fonction GESTION-CLASSE-EQUIV est executee. Elle
remplace toutes les occurrences de g par R, dans les listes
des successeurs immediats oft g a ete ajoute. Ceci permet de n'avoir
que des representants dans les listes des successeurs immediats et n'affecte en
rien le resultat de la deuxieme etape, etant donne que g et R
appartiennent a la meme classe d'equivalence. Pour la meme raison - n'avoir que
des representants dans les listes des successeurs immediats - les comparaisons
a faire avec g seront effectuees avec R.
(b) Si g est un successeur d'un des elements de
L, disons g2, g sera compare aux elements de
la liste des successeurs de Cg2. Pour chaque
element g3 appartenant au reste des elements de
L, g ne pourra etre qu'un successeur de
Cg3. En effet, le cas (a) ne peut avoir lieu car
sinon g ne serait pas un successeur de g2.
Si aucun de ces deux cas ne se presente, g est un
successeur immédiat de g1 et est ajoute a L
et ne sera plus enleve(6). Cet ajout est valide etant donne que si
un generateur minimal frequent, disons h, est compare dans la suite
a g, alors h ne peut que verifier qu'un des deux cas (a) ou
(b) si Ch et Cg sont comparables (cad h ?
Cg ou Ch est un successeur de Cg).
En effet, h a un support inferieur ou egal = celui de g.
Ainsi, chaque liste des successeurs immediats est comparee a
tous les generateurs minimaux frequents susceptibles d'y appartenir. Les
traitements s'arrêtent lorsqu'il n'y a plus de generateurs minimaux
frequents a introduire dans le treillis des générateurs
minimaux.
3. Troisième étape : Extraction des bases
générigues informatives de règles
Dans cette etape, le parcours du treillis des
générateurs minimaux se fait en partant de Co. Montrons
que cette etape est valide. Toute classe d'equivalence autre que Co
admet au moins un predecesseur immediat et sera donc incluse dans au moins
une liste des successeurs immediats d'une autre classe d'equivalence. Ceci
permettra de
5Comme mentionné précédemment,
les générateurs minimaux fréquents autres que les
représentants
ont des listes de successeurs immédiats vides.
6Eventuellement, g ne pourra qu'être
remplacé par le représentant de Cg.
l'inclure dans la liste des classes d'équivalence a
traiter lors de la prochaine itération (cad dans la liste L2
de l'algorithme 4 page 53). Les traitements s'arrêtent lorsque la (resp.
les) liste(s) des successeurs immédiats de la (resp. des) classe(s)
d'équivalence traitée(s) en dernier est (resp. sont) vide(s).
Ainsi, toutes les classes d'équivalence seront traitées. En
appliquant la proposition 4 (cf. page 51), tous les itemsets fermés
fréquents sont retrouvés au fur et a mesure de ce parcours
ascendant et les regles génériques informatives valides sont
alors extraites d'une maniere directe.

Proposition 6 L'algorithme PRINCE termine et son résultat
est complet.
Preuve.
Montrons que l'algorithme PRINCE termine quel que soit le
contexte d'extraction 1C donné en entrée et quelles que
soient les valeurs de minsup et minconf. Etant donné que le nombre de
couples du contexte d'extraction est fini, le nombre de
générateurs minimaux fréquents extraits du contexte
1C lors de la premiere étape, et qui est donc a traiter lors de la
deuxieme étape, est aussi fini. De même, le treillis des
générateurs minimaux a parcourir lors de la troisieme
étape a une taille finie, égale au nombre de classes
d'équivalence.
Le résultat de l'algorithme PRINCE est complet
étant donné que la construction du treillis des
générateurs minimaux assure l'exhaustivité des
éléments (les générateurs minimaux
fréquents) de chaque classe d'équivalence. De même, elle
assure l'exhaustivité des éléments de la liste des
successeurs immédiats de chaque classe d'équivalence. Les
traitements effectués lors de la troisieme étape prennent ainsi
en compte toutes les classes d'équivalence et le résultat est
donc complet.

3.5 Complexite
Dans cette section, nous allons étudier la
complexité théorique au pire des cas de l'algorithme PRINCE.
Soit un contexte d'extraction 1C = (O, Z,
7Z), le pire des cas est obtenu quand le nombre de
générateurs minimaux fréquents est égal au nombre
d'itemsets fréquents et est égal au nombre d'itemsets
fermés fréquents (cad 2111) . En d'autres
termes, chaque générateur
minimal frequent est aussi un ferme et le treillis des
generateurs minimaux se confond avec le treillis des itemsets frequents.
Soient m=1O1 et n=1I1. La
taille maximale d'une transaction est egale au nombre maximum d'items
distincts, cad n. Nous allons considerer que toutes les transactions
ont pour longueur n. Pour chaque transaction et dans le pire des cas,
nous determinons ses 2n sous-ensembles afin de calculer les
supports des itemsets. Nous allons calculer la complexite theorique au pire des
cas de l'algorithme PRINCE en calculant la complexite au pire des cas de
chacune des trois etapes le constituant.
Premiere etape : Determination des generateurs minimaux
1. L'initialisation de l'ensemble des items candidats se fait
en O(1) (ligne 3 dans Algorithme 1 page 43).
2. Le cofit du calcul des supports des items est de l'ordre
de O(m × n) (ligne 4).
3. Les affectations des lignes 5-6 se font en O(1).
4. Le cofit de l'elagage par rapport aux supports des items est
de l'ordre de O(n) (lignes 7-15).
5. Le cofit de la determination des generateurs minimaux
frequents de tailles superieures ou egales a 2 (lignes 16-17) est egal a la
somme des cofits suivants :
(a) APRIORI-GEN : il y a (2n - n -
1) candidats a generer. Ainsi, le cofit de cette phase est de l'ordre de
O(2n - n) (lignes 3-4 dans Algorithme 2 page
44) ;
(b) Le cofit de la verification de l'ideal d'ordre, et en
meme temps, le calcul du support estime et le stockage des liens vers les
sous-ensembles adequats est de l'ordre de O(n2
× (2n - n)) (lignes 5-14) ;
(c) Le cofit du calcul des supports des candidats de tailles
superieures ou egales a 2 est de l'ordre de O(m ×
(2n - n)) (ligne 16) ;
(d) Le cofit de l'elagage par rapport aux supports des candidats
est de l'ordre de O(2n - n) (lignes
17-22).
La complexite Cl de cette etape est alors
: Cl = O(m × n + n +
(2n - n) + n2 ×
(2n - n) + m ×
(2n - n) + 2n - n)
= O(m × 2n + 2n
+ (n2 + 1) × (2n - n)).
Etant donne que 2n est largement superieur
a n, alors Cl =
O(m×2n+2n+(n2+1)×2n)
: O(m × 2n + (n2 + 2)
× 2n) = O(m × 2n +
n2 × 2n) :O((n2 +
m) × 2n).
D'ofi, C, = O((n2 +
m) × 2n).
G Deuxieme etape : Construction du treillis des generateurs
minimaux
1. La boucle pour de la ligne 3 (dans Algorithme 3 page 50) se
repetent 2n fois etant donne que dans le pire des cas, nous
avons 2n generateurs minimaux frequents.
2. Pour chaque generateur minimal frequent g de
taille k, la boucle pour de la ligne 4 se repete k fois etant
donne que g admet k sous-ensembles de taille (k-1)
(k, le nombre de sous-ensembles, sera largement majore
par n). Pour chaque sous-ensemble de g de taille
(k-1), disons g1, les traitements suivants sont
realises :
(a) Le coUt de l'instruction de la ligne 5 est en
O(1) etant donne que dans le pire des cas, g1 est le
seul generateur minimal frequent de sa classe d'equivalence et est donc son
representant (g1 est egal a R).
(b) La boucle pour de la ligne 6 se repete au maximum
(n-k) fois. En effet, g1, etant de taille
egale a (k-1), possede au maximum n - (k - 1)
- 1 successeurs immediats, au moment de l'integration de g dans
le treillis des generateurs minimaux ((n-k), le
nombre maximal de successeurs immediats, sera largement majore par n).
Dans chaque iteration de cette boucle, g est compare a un element
de g1.succs-immediats , disons g2. Le
coUt de la comparaison de g avec g2 est la somme
des deux coUts suivants :
i. Le premier coUt est relatif a l'union de g et
g2 et est, au pire des cas, de l'ordre de
O(n). Soit q, l'itemset resultat de cette union.
ii. Le second coUt est relatif a la recherche du support
adequat de q et est, au pire des cas, de l'ordre de
O(n). Notons que l'itemset q est un generateur minimal
frequent. En effet, q est inclus dans l'itemset contenant tous les
items, cad l'itemset I. Or, ce dernier -- dans le pire des cas -- est
un generateur minimal frequent et d'apres la propriete de l'ideal d'ordre des
generateurs minimaux frequents (cf. Proposition 1 page 24), q est un
generateur minimal frequent.
Etant donne que l'union de g avec tout element de
g1.succs-immediats donne toujours un generateur
minimal, aucune des deux conditions specifiees par la proposition 3 (cf. page
47) n'est verifiee (ces conditions sont decrites par les lignes 7-12).
Ainsi, Cg est incomparable avec toutes les classes
d'equivalence des representants appartenant a
g1.succs-immediats . g est donc ajoute a cette liste
en O(1) (lignes 13-14).
Ainsi, la complexite C2 de cette etape est de
l'ordre de : C2 = O(2n
× n × (1 + (n ×
(n + n)) + 1)) =
O(2n × n × (n ×
(n + n))).
D'oft, C2 =
O(n3 × 2n).
Troisieme etape : Extraction des bases generigues informatives de
regles
1. Le cofit des initialisations des lignes 3-6 (dans Algorithme
4 page 53) se fait en
O(1).
2. La condition de la boucle tant que est verifiee tant qu'il
y a des classes d'equivalence a traiter (ligne 7). Dans le pire des cas, chaque
generateur minimal frequent ferme forme une classe d'equivalence. Ainsi,
2n classes d'equivalence sont traitees. Pour chaque classe
d'equivalence C (ligne 8), le coilt total de cette etape est egal a la
somme des deux cofits suivants :
(a) Le premier cofit consiste a deriver la fermeture
correspondante a C. Cette derniere est le resultat de l'union du
generateur minimal frequent de C avec la fermeture d'un de ses
predecesseurs immediats (lignes 12-14). Ceci est realise, au pire des cas,
en O(n).
(b) Le deuxieme cofit est relatif a l'extraction des regles
d'association informatives.
i. Etant donne que, le generateur minimal frequent de
C est egal A sa fermeture, la condition de la ligne 9, testee en
O(1), n'est pas verifiee. Ainsi, aucune regle exacte informative n'est
extraite (ligne 10).
ii. Soit k la taille de l'itemset ferme frequent
de C. C possede alors k predecesseurs immediats.
Ainsi, pour une valeur de minconf egale a 0, k regles approximatives
informatives valides sont extraites (lignes 15-16). Le cont de l'extraction de
chacune des regles approximatives est egal au cont du calcul de la difference
entre la premisse et la conclusion et est, au pire des cas, de l'ordre de
O(n).
Le cont total, pour chaque classe d'equivalence, est alors de
l'ordre de O(n+ 1 + n × n) (la taille
k d'un itemset ferme frequent etant largement majoree
par n).
La complexite C3 de cette etape est alors de
l'ordre de : C3 = O(1 + (n+ 1
+n2)×2n).
D'oft, C3 =
O(n2 × 2n).
Au pire des cas, la complexite totale de l'algorithme PRINCE est
de l'ordre de :
Cpire = C1 -h C2 -h
C3 = O((n2 + m)
× 2n) -h O(n3
× 2n) -h O(n2
× 2n) = O((n3 +
2 × n2 + m)2n) =
O((n3 + m) ×
2n).
D'oft, Cpire = O((n3 +
m) × 2n).
Ainsi, la complexite de PRINCE est de même ordre de
grandeur que celle des algorithmes dedies a l'extraction des itemsets fermes
frequents [29, 47], bien qu'il determine les trois composantes necessaires a
l'extraction des bases generiques de regles d'association.
3.6 Conclusion
Dans ce chapitre, nous avons introduit un nouvel algorithme,
appele PRINCE, pour l'extraction des bases generiques de regles. L'algorithme
PRINCE determine les generateurs minimaux frequents. Ensuite, il les ordonne
partiellement sous la forme d'un treillis des generateurs minimaux. Un balayage
de bas en haut de cette structure permet de retrouver les itemsets fermes
frequents et d'extraire les regles d'association informatives. Des preuves
theoriques ainsi qu'une etude de la complexite theorique relatives au nouvel
algorithme ont ete proposees.
Dans le chapitre suivant, nous allons essayer d'evaluer
experimentalement notre algorithme sur la base d'une serie de tests. Ces tests
permettront de voir l'influence de quelques optimisations que nous
introduisons, d'analyser les caracteristiques de notre algorithme, ainsi que de
comparer ses performances aux algorithmes d'exploration par niveau
existants.
Chapitre 4
Etude expérimentale
4.1 Introduction
Dans le chapitre précédent, nous avons introduit
un nouvel algorithme, appelé PRINCE, pour l'extraction des itemsets
fermés fréquents, leurs générateurs minimaux
associés ainsi que les regles génériques informatives
valides. A cet effet, PRINCE se distingue par la construction de la relation
d'ordre partiel contrairement aux algorithmes existants. Cette relation d'ordre
partiel est maintenue entre les générateurs minimaux
fréquents sous forme d'une structure partiellement ordonnée
appelée treillis des générateurs minimaux. A partir de
cette structure, l'extraction des regles génériques informatives
valides devient immédiate.
Dans ce chapitre, nous présentons quelques
optimisations apportées a notre algorithme et nous mesurons leurs
impacts sur les performances de l'algorithme PRINCE 1. Ensuite, nous
présentons une évaluation expérimentale - menée sur
des bases benchmark et des bases "pire des cas" - permettant d'analyser les
caractéristiques de l'algorithme PRINCE et de comparer ses performances
a celles des algorithmes CLOSE, A-CLOSE et TITANIC. Ces derniers se limitent a
extraire les itemsets fermés fréquents et leurs
générateurs minimaux seulement. Leurs codes sources ont
été mis a notre disposition par Yves Bastide.
4.2 Environnement d'experimentation
4.2.1 Environnement materiel et logiciel
Toutes les experimentations ont ete realisees sur un P C muni
d'un processeur Pentium IV ayant une frequence d'horloge de 2,4 GHz et 512 Mo
de memoire RAM (avec 2 Go d'espace d'echange ou Swap) tournant sous la
plate-forme SuSE Linux 9.0. PRINCE est implante en Langage C tandis que CLOSE,
A-CLOSE et TITANIC le sont en C-h-h. Les programmes ont ete compiles avec le
compilateur gcc 3.3.1.
4.2.2 Description des executables
Dans le cadre de nos experimentations, nous avons utilise les
executables decrits par le tableau 4.1.
Algorithme(s)
|
Entrée
|
Sortie
|
PRINCE
|
Fichier ascii (.dat), minsup, mincon~.
|
Les itemsets fermes frequents, leurs generateurs minimaux
associes ainsi que les bases generiques de regles.
|
CLOSE, A-
CLOSE et
TITANIC
|
Fichier binaire
(.bam), minsup.
|
Les itemsets fermes frequents et leurs generateurs minimaux
associes.
|
TAB . 4.1: Description des executables des differents
algorithmes
4.2.3 Bases de test
Dans le cadre de nos experimentations, nous avons comptabilise
le temps d'execution total des algorithmes sur des bases benchmark ainsi que
sur des bases "pire des cas". Tout au long de ce chapitre, les figures
presentees ont une echelle logarithmique.
4.2.3.1 Bases benchmark
Les bases benchmark sont divisees en des bases denses et des
bases eparses (2). Les caracteristiques de ces bases sont resumees
par le tableau 4.3. Ce tableau definit, pour chaque base, son type, le nombre
de transactions, le nombre d'items et la taille moyenne des
2L'ensemble de ces bases est disponible a l'adresse
suivante : http ://
fimi.cs.helsinki.fi/data.
transactions. La base PUMSB contient des données de
recensement (cad des données statistiques). La base MUSHROOM contient
les caractéristiques de diverses espèces de champignons. Les
bases CONNECT et CHESS sont dérivées a partir des étapes
de jeux respectifs qu'elles représentent. Ces bases sont fournies par U
C Irvine Machine Learning Database Repository (3). Typiquement, ces
bases sont très denses (cad elles produisent plusieurs itemsets
fréquents longs même pour des valeurs de supports
élevées). T10I4D100K et T40I10D100K sont deux bases
synthétiques générées par un programme
développé dans le cadre du projet dbQUEST (4). Ces
bases simulent le comportement d'achats des clients dans des grandes surfaces
[36]. Le tableau 4.2 présente les différents paramètres
des bases synthétiques. La base RETAIL [17] est fournie par une grande
surface anonyme située en Belgique. La base ACCIDENTS [28] est obtenue
de l'institut national belge de statistiques et représente des
statistiques sur les accidents du trafic survenus dans la région de
Flandre (Belgique) entre 1 991 et 2 000.
|T|
|
Taille moyenne des transactions
|
|I|
|
Taille moyenne des itemsets maximaux potentiellement
fréquents
|
|D|
|
Nombre de transactions générées
|
TAB . 4.2 -- Paramètres des bases synthétiques
NOM DE LA BASE
|
TYPE DE LA BASE
|
NOMBRE DE TRANSACTIONS
|
NOMBRE D'ITEMS
|
TAILLE MOYENNE DES TRANSACTIONS
|
PUMSB
|
Dense
|
49046
|
7 117
|
74
|
CONNECT
|
Dense
|
67 557
|
129
|
43
|
CHESS
|
Dense
|
3 196
|
75
|
37
|
MUSHROOM
|
Dense
|
8 124
|
119
|
23
|
T10I4D100K
|
Eparse
|
100 000
|
1 000
|
10
|
T40I10D100K
|
Eparse
|
100 000
|
1 000
|
40
|
RETAIL
|
Eparse
|
88 162
|
16 470
|
10
|
ACCIDENTS
|
Eparse
|
340 183
|
468
|
33
|
TAB . 4.3 -- Caractéristiques des bases benchmark
3http ://www.ics.uci.edu/~mlearn/ML
Repository.html .
4 Le generateur des bases synthetiques est disponible
a l'adresse suivante
http ://
www.almaden.ibm.com/software/quest/
Resources/datasets/data/ .
4.2.3.2 Bases "pire des cas"
Dans le cadre de nos experimentations, nous avons realise des
tests sur des bases "pire des cas". La configuration de chacune de ces bases
est une legère modification de celle presentee par Fu et Nguifo dans
[26]. La definition d'une base "pire des cas" est comme suit :
Definition 9 Une base "pire des cas" est une base oit la taille
de l'ensemble des items
I est égale a n et celle de
l'ensemble des transactions O est égale a (n+1). Dans
cette base, cha que item est vérifié par n transactions
différentes. Cha que transaction, parmi les n premières,
est vérifiée par (n-1) items différents. La
dernière transaction est vérifiée par tous les items. Les
transactions sont toutes différentes deux a deux. Les items sont tous
différents deux a deux.
|
i1
|
i2
|
i3
|
i4
|
1
|
|
x
|
x
|
x
|
2
|
x
|
|
x
|
x
|
3
|
x
|
x
|
|
x
|
4
|
x
|
x
|
x
|
|
5
|
x
|
x
|
x
|
x
|
FIG . 4.1 -- Exemple d'une base "pire des cas" avec
n4
La Figure 4.1 presente un exemple d'une base "pire des cas"
avec n egal a 4.
Une base "pire des cas" donne, pour une valeur de minsup egale
a 1, un treillis complet des itemsets frequents contenant 2' itemsets
frequents. Dans le pire des cas, le treillis des itemsets frequents se confond
avec le treillis des itemsets fermes frequents ainsi qu'avec le treillis des
générateurs minimaux.
L'algorithme BASE-PIRE-CAS, dont le pseudo-code est donne par
l'algorithme 5, permet de generer une base "pire des cas" dans un fichier F et
pour une valeur n donnee.
4.3 Optimisations et evaluations
1 Algorithme : BASE-PIRE-CAS
Donnees : - Un entier n.
Resultats : - Un fichier F contenant une base "pire des cas" de
dimension (n + 1)×n.
2 debut
3
4
5
6
7
8
pour (i--1; i < n; i++) faire pour
(j--1 ; j < n; j++) faire
si i =~ j alors

écrire(F,i);
pour (i--1; i < n; i++) faire

écrire(F,i);
9 fin
Algorithme 5 : BASE-PIRE-CAS
nombre de comparaisons. Dans toutes les figures qui vont suivre,
nous utilisons une valeur de minconf égale a 0 (cad toute regle
générique extraite est valide).
1. Representation compacte de la base : lors de la premiere
étape et afin de réduire le cofit du calcul des supports des
candidats générateurs minimaux (cf. la procédure GEN-GMS
page 43), nous utilisons des techniques permettant de réduire la taille
de la base a traiter. Pour cela, nous introduisons une structure de
données appelée IT-BDT (Itemset-Trie-BaseDeTransaction). IT-BDT
est une modification de la structure de données Itemset-Trie [8]
permettant de stocker le contexte d'extraction en mémoire centrale et de
retrouver les items relatifs aux différentes transactions.
L'utilisation d'une structure interne pour stocker le contexte
d'extraction est adoptée par plusieurs travaux, tels que [12, 37, 62].
Dans la structure Itemset-Trie, le compteur que contient un nceud N
indique le nombre d'occurrences des transactions ayant en commun N.
Dans la figure 4.2 (Gauche), le nceud contenant l'itemset A possede un compteur
égal a 3 car c'est l'intersection de trois transactions, a savoir A CD,
AB CE et AB CE. Dans la structure IT-DBT, ce compteur prend pour valeur 0 si
les items se trouvant sur le chemin menant de la racine a N ne
représentent pas une transaction sinon le compteur prend pour valeur le
nombre de fois que la transaction s'est répétée dans la
base de transactions. Dans la figure 4.2 (Droite), le nceud contenant l'itemset
A a un compteur égal a 0 car A ne forme pas a lui seul une

(CD,1) (BCE,2)
(A,3)
root
(CE,1) (E,1)
(B,2)
(CD,1) (BCE,2)
(A,0)
root
(CE,1) (E,1)
(B,0)
FIG . 4.2 -- La structure Itemset-Trie (Gauche) et la structure
IT-BDT (Droite) associees au contexte d'extraction de la Figure 3.1
transaction. De plus, le calcul du support des 1-itemsets se
fait en même temps que la construction de la structure IT-BDT. Notons que
la structure IT-BDT permet aussi de mettre en place un processus de fouille
interactif etant donne qu'il n'y a nul besoin de la reconstruire si nous
changeons la valeur de minsup, contrairement A d'autres structures telles que
FP-Tree [34, 35] et Patricia-Trie [53], etc. Afin de ne pas faire perdre a la
structure IT-DBT ce dernier avantage, nous n'eliminons, de cette structure, ni
les items infrequents ni ceux ayant même support que celui de l'ensemble
vide. Cependant, lors du parcours de cette structure, seuls les items frequents
de supports inferieurs a celui de l'ensemble vide (cad les items generateurs
minimaux frequents) seront pris en compte. De plus, toute transaction ne
depassant pas la taille des candidats n'est pas prise en compte etant donne
qu'elle ne contient aucun candidat.
Evaluation experimentale de cette optimisation : Nous allons
tester une version de PRINCE oft nous utilisons une representation compacte de
la base comparee a une version oft la base a traiter se trouve sur le disque et
aucun traitement relatif aux transactions n'est effectue. Pour realiser ce
test, nous avons choisi les bases PUMSB, CONNECT et ACCIDENTS etant donne que,
pour ces bases, le calcul du support des candidats est une operation coliteuse
vu le nombre ainsi que la taille moyenne des transactions que contiennent ces
bases. Pour les trois bases sus-mentionnees, la figure 4.3 montre les temps
d'execution de PRINCE dans les deux cas : avec utilisation de la representation
compacte de la base (cf. courbe "avec RC") et sans utilisation de la
representation compacte de la base (cf. courbe "sans RC").

Temps d'execution (en seconde)
1024
256
512
128
64
32
16
8
90
80
Connect
70
60
50
Temps d'execution (en seconde)
4096
2048
1024
256
512
128
64
32
16
8
90
80
70
Accidents
60
avec Rc sans Rc
50
40
30
Temps d'execution (en seconde)
4096
2048
1024
256
512
128
64
32
16
4
2
8
95
90
Pumsb
85
avec Rc sans Rc
80
75
avec Rc sans Rc
Minsup (en %) Minsup (en %) Minsup (en %)
FIG . 4.3 -- Effet de l'utilisation d'une représentation
compacte de la base sur les performances de PRINCE
tées (une réduction comprise entre 20,87% a
75,00% pour PUMSB, entre 10,84% et 61,90% pour CONNECT et entre 14,67% et
80,76% pour ACCIDENTS). Cette réduction diminue proportionnellement a la
baisse des valeurs de minsup. Ceci peut être expliqué par le fait
que plus la valeur de minsup baisse, moins il y a d'items infréquents.
D'oft, seule l'utilisation d'IT-BDT reste bénéfique pour les
performances de PRINCE.
2. Reduction du nombre de comparaisons : Afin de
réduire le nombre de comparaisons effectuées lors de la deuxieme
étape (cf. la procédure GEN-ORDRE page 50), nous avons
utilisé les optimisations suivantes :
(a) La premiere optimisation consiste a mettre en place un
traitement permettant de savoir si chaque générateur minimal
fréquent est aussi un fermé ou non. Ce même traitement est
utilisé dans l'algorithme A-CLOSE (cf. page 26). Dans le cas de ce
dernier, ce traitement indique a partir de quelle taille des
générateurs minimaux fréquents, il y aurait un calcul des
fermetures. Dans notre cas et a la fin de la premiere étape, ce
traitement permet d'indiquer si l'algorithme PRINCE nécessite ou non
d'exécuter la deuxieme étape. En effet, si chaque
générateur minimal fréquent est aussi un fermé, le
treillis des générateurs minimaux est construit des la premiere
étape et l'algorithme PRINCE n'a pas a exécuter la
procédure GEN-ORDRE. Un simple parcours de l'ensemble
est alors suffisant. Il n'y alors pas de regle exacte
informative. Etant donné que nous stockons dans le champ
sous-ens-directs, des liens vers les sous-ensembles de taille (k-1) de
tout générateur minimal g de taille k, nous
avons les prémisses nécessaires pour extraire les regles
approximatives informatives valides.
version de PRINCE oft la procédure GEN-ORDRE est
exécutée, bien que chaque générateur minimal
fréquent est aussi un fermé, comparée a une version oft
cette procédure n'est pas exécutée. Pour réaliser
ce test, nous allons utiliser la base ACCIDENTS étant donné que
pour des valeurs de minsup supérieures ou égales a 40%, chaque
générateur minimal fréquent est un fermé. La figure
4.4 montre les temps d'exécution de PRINCE dans les deux cas : avec
exécution de GEN-ORDRE (cf. courbe "avec G-O") et sans exécution
de GEN-ORDRE (cf. courbe "sans G-O").
Temps d'execution (en seconde)
256
128
64
32
16
8

90
80
Accidents
70
avec G-O sans G-O
60
50
40
Minsup (en %)
FIG . 4.4 -- Effet de l'exécution de la procédure
GEN-ORDRE sur les performances de PRINCE
Le fait de ne pas exécuter la procédure GEN-ORDRE
permet de réduire les temps d'exécution de PRINCE de 2,23%
jusqu'a 16,66%.
(b) La deuxième optimisation consiste a utiliser les
2-itemsets fréquents non générateurs minimaux pour
déterminer la relation entre les items fréquents. Ces items ont
tous un sous-ensemble commun a savoir l'ensemble vide. Soit Z un
itemset fréquent non générateur minimal et soient
x et y les items le composant. En comparant le support de
Z a ceux de x et y, nous pouvons connaitre la relation
entre Cx et Cy. Dans la premiere
étape de l'algorithme PRINCE, nous ajoutons donc un traitement qui, des
le calcul des supports des candidats générateurs minimaux de
taille 2, traite chaque 2-itemset fréquent non générateur
minimal pour déterminer la relation entre les classes
d'équivalence des items le composant. Le traitement d'un 2-itemset
générateur minimal Z, ne sert a rien puisque les classes
d'équivalence des items le composant sont incomparables (sinon Z,
ne serait pas générateur minimal). L'utilisation des
candidats générateurs minimaux de taille 2 est favorisée
par le fait que tous
ces candidats vérifient l'idéal d'ordre et nous
avons ainsi le support de toutes les combinaisons possibles, de taille 2,
d'items fréquents.
Evaluation expérimentale de cette optimisation : Afin
de tester l'effet de l'utilisation des 2-itemsets fréquents non
générateurs minimaux pour déterminer la relation entre les
items fréquents, nous allons utiliser la base RETAIL. En effet, dans
cette base, le nombre d'items est très élevé (16470
items). Ceci rend élevé le nombre de comparaisons entre les
1-itemsets fréquents pour de basses valeurs de minsup. La figure 4.5
montre les temps d'exécution de PRINCE dans les deux cas : prise en
compte des 2-itemsets fréquents non générateurs minimaux
(courbe "avec 2-freqs-Non-GMs") ou non (courbe "sans 2-freqs-Non-GMs").
Temps d'execution (en seconde)
4096
2048
1024
256
512
128
64
32
16

0.1
avec 2-freqs-Non-GMs sans 2-freqs-Non-GMs
0.08
0.06
Retail
0.04
0.02
0
Minsup (en %)
FIG . 4.5 -- Effet de l'utilisation des 2-itemsets
fréquents non générateurs minimaux sur les performances de
PRINCE
L'utilisation des 2-itemsets fréquents non
générateurs minimaux permet de
réduire les temps d'exécution de PRINCE de 1,71%
jusqu'a 13,79%.
(c) La troisième optimisation consiste a stocker, pour
chaque générateur minimal fréquent g, une liste
prohibée notée lg, des
générateurs minimaux fréquents auxquels nous avons
comparé g a leurs listes de successeurs immédiats. Ceci
permet d'éviter de comparer g a une liste des successeurs
immédiats L plus qu'une fois étant donné que les
comparaisons qui en découlent sont superflues. En effet, le
résultat de ces comparaisons est le même que celui de la
première comparaison de g avec L. La notion de liste
prohibée est étendue au niveau de la classe d'équivalence.
Ainsi, si g est comparé avec le représentant de sa
classe d'équivalence R., nous ajoutons les éléments de
lg a la liste prohibée de R. (cad lR)
étant donné que le reste des comparaisons est poursuivi avec ce
dernier.
Evaluation expérimentale de cette optimisation : Pour
tester l'effet de l'utilisation de la liste prohibée, nous utilisons la
base MUSHROOM. En effet, pour cette base, la construction de l'ordre partiel
est l'étape la plus coUteuse (le calcul du support est favorisé
par un nombre réduit de transactions de petite taille moyenne). La
figure 4.6 montre les temps d'exécution de PRINCE dans les deux cas :
utilisation des listes prohibés (courbe "avec listes prohibées")
ou non (courbe "sans listes prohibées").
Temps d'execution (en seconde)
1024
256
512
128
64
32
16
4
2
8
1
20

18
16
avec listes prohibees sans listes prohibees
14
Mushroom
12
10
8
6
4
2
Minsup (en %)
FIG . 4.6 -- Effet de l'utilisation des listes prohibées
sur les performances de PRINCE
L'utilisation des listes prohibées permet
d'éviter l'exécution d'un grand nombre de comparaisons non
nécessaires. Ainsi, nous constatons une réduction
signifi- cative des temps d'exécution de PRINCE allant de 50,00% et
atteignant 97,47%.
Comme dans le cas du premier type d'optimisation, cad la
représentation compacte de la base, nous constatons que l'utilisation
des optimisations relatives a la réduction du nombre de comparaisons
réduit les temps d'exécution de PRINCE et s'adaptent aux
caractéristiques différentes des bases.
Il faut insister sur le fait, que pour chaque type
d'optimisations (cad la représentation compacte de la base ou la
réduction du nombre de comparaisons), les optimisations utilisées
se complètent l'une l'autre et ne s'excluent pas mutuellement.
4.4 Effets de la variation de la mesure minconf
Dans cette section, nous allons tester, pour une base
donnée, l'effet de la variation de la mesure minconf sur les
performances de PRINCE. La version utilisée dans ce test ainsi que dans
les expérimentations présentées dans le reste du chapitre
est une version dans laquelle toutes les optimisations sus-décrites sont
implémentées.
Pour évaluer l'effet de la variation de la valeur de
minconf, nous considérons deux cas extremes a savoir le cas oft la
valeur de minconf est égale a 0 (cad que toutes les regles
génériques sont valides) et le cas oft la valeur de minconf est
égale a 1 (cad que seules les regles génériques exactes
sont valides). Pour réaliser ce test, nous avons choisi les bases CHESS
et T40I10D100K étant donné le nombre élevé de
regles valides extraites de ces bases si la valeur de minconf est égale
a 0 et pour de faibles valeurs de minsup. La figure 4.7 montre les temps
d'exécution de notre algorithme sur ces deux bases pour une valeur de
minconf égale a 0 et pour une valeur de minconf égale a 1.
FIG . 4.7 -- Effet de la variation de minconf sur les
performances de PRINCE

1024
512
Temps d'execution (en seconde)
512
256
256
128
Temps d'execution (en seconde)
128
64
32
64
16
32
8
16
4
8
2
4
1
2
90
0.5
50
60
70
80
Chess
minconf=0 minconf=1
40
Minsup (en %)
T40I10D100K
minconf=0 minconf=1
9.5 8.5 7.5 6.5 5.5 4.5 3.5 2.5 1.5 Minsup (en %)
Nous constatons que la variation de la valeur de minconf n'a
pas de conséquence significative sur les performances de PRINCE pour les
bases CHESS et T40I10D100K. Ce résultat n'est pas restreint a ces deux
bases mais est généralisable pour toutes les bases
testées. En effet, tout au long de nos expérimentations, nous
avons constaté qu'étant donné le treillis des
générateurs minimaux construit, la troisième étape
(cad la procédure GEN-BGRS page 53) constitue l'étape la moins
cofiteuse dans notre algorithme. De plus, la modification dans les valeurs de
minsup et celles de minconf, pour une valeur fixée de minsup, n'a pas
une influence significative sur les temps d'exécution de cette
étape.
4.5 Comparaisons des coilts des &tapes de
PRINCE
Dans cette section, nous allons comparer les temps
d'exécution des étapes constituant l'algorithme PRINCE. Rappelons
que l'algorithme PRINCE est constitué de trois étapes, a savoir
:
1. Détermination des générateurs minimaux
(cf. la procédure GEN-GMS page 43) ;
2. Construction du treillis des générateurs
minimaux (cf. la procedure GEN-ORDRE page 50) ;
3. Extraction des bases generiques informatives de regles (cf.
la procedure GEN-BGRS page 53).
4.5.1 Bases benchmark
Dans toutes les figures qui vont suivre, et pour l'algorithme
PRINCE, nous utilisons une valeur de minconf egale a 0 (cad que nous avons
considere, pour une valeur de minsup fixee, le pire des cas par rapport au
nombre de regles generees). Les comparaisons des etapes constituant PRINCE
seront divisees en deux parties :
G Comparaisons sur des bases denses ;
G Comparaisons sur des bases eparses.
4.5.1.1 Comparaisons sur les bases denses
Les temps d'execution des differentes etapes de l'algorithme
PRINCE sur les bases denses sont presentes par la figure 4.8 et le tableau
4.4.
- PUMSB et CONNECT : ces deux bases sont caracterisees par un
nombre ainsi qu'une taille moyenne des transactions relativement eleves. Ces
caracteristiques influent enormement sur la repartition du temps d'execution
total de l'algorithme PRINCE par rapport aux trois etapes le constituant.
Ainsi, la premiere etape, cad la determination des generateurs minimaux, est
l'etape la plus coUteuse pour ces deux bases. La deuxieme et troisieme etape
n'ont pas une influence significative sur les temps d'execution de PRINCE. En
effet, pour la base PUMSB (resp. CONNECT), les temps d'execution de ces deux
etapes ne depassent pas 1,28% (resp. 3,01%) du temps d'execution total de
l'algorithme PRINCE.
- CHESS : cette base est caracterisee par un nombre reduit de
transactions. Cependant, la taille moyenne des transactions est elevee, ce qui
influe sur les temps d'execution de la premiere etape. D'autant plus, CHESS
permet d'extraire un nombre eleve de generateurs minimaux frequents atteignant
719 886 pour minsup 45%. Ce nombre maintient la premiere etape comme etant la
plus cofiteuse. Le temps d'execution relatif a la construction du treillis des
générateurs minimaux est lui aussi influence par le nombre de
generateurs minimaux frequents extraits lors de la premiere etape. La troisieme
etape, cad l'extraction des bases generiques de regles, est la moins cofiteuse.
En effet, le temps d'execution de cette etape ne depasse pas 2,06% du temps
d'execution total de l'algorithme PRINCE.
- MUSHROOM : cette base est caracterisee par un nombre reduit
de transactions ainsi qu'une taille moyenne reduite des transactions. Ainsi, la
premiere etape ne pese pas lourd sur les performances de l'algorithme PRINCE.
Cependant, le nombre de generateurs minimaux frequents, atteignant 360 166 pour
minsup:0,1, extraits lors de cette premiere etape influe sur le temps
d'execution de la deuxieme etape. Ainsi, cette derniere est la plus coUteuse.
Il faut noter que comme pour les trois premieres bases, la troisieme etape n'a
pas une influence significative sur les temps d'execution de l'algorithme
PRINCE. Son temps d'execution ne depasse pas 10% du temps d'execution total.
Ces comparaisons confirment que, etant le treillis des
générateurs minimaux construit, l'extraction des bases generiques
de regles devient immediate et n'a pas d'influence notable sur les performances
de l'algorithme PRINCE.
Temps d'execution (en seconde)
4096
1024
256
64
16
4
1

95
90
Pumsb
85
étape 1 étape 2 étape 3
80
75
Temps d'execution (en seconde)
1024
256
512
128
64
32
16
4
2
8
1

90
80
Connect
70
étape 1 étape 2 étape 3
60
50
Minsup (en %)
Temps d'execution (en seconde)
256
128
64
32
16
4
2
8
1

90
80
70
Chess
60
étape 1 étape 2 étape 3
50
40
Minsup (en %) Minsup (en %)
Temps d'execution (en seconde)
64
32
16
4
2
8
1
20

18
16
14
Mushroom
12
10
étape 1 étape 2 étape 3
8
6
4
2
0
Minsup (en %)
FIG . 4.8 -- Temps d'execution des etapes constituant PRINCE pour
les bases denses
4.5.2.1 Comparaisons sur les bases eparses
Les temps d'execution des differentes etapes de l'algorithme
PRINCE sur les bases eparses sont presentes par la figure 4.9 et le tableau
4.5.
Base
|
minsup
|
Temps d,exécution total
|
1i`ere étape
|
2i`eme étape
|
3i`eme étape
|
PUMSB
|
95,00%
|
3
|
3
|
0
|
0
|
|
90,00%
|
7
|
7
|
0
|
0
|
|
85,00%
|
27
|
27
|
0
|
0
|
|
80,00%
|
416
|
413
|
2
|
1
|
|
75,00%
|
1 641
|
1 620
|
19
|
2
|
CONNECT
|
90,00%
|
8
|
8
|
0
|
0
|
|
80,00%
|
25
|
24
|
1
|
0
|
|
70,00%
|
66
|
63
|
3
|
0
|
|
60,00%
|
332
|
322
|
9
|
1
|
|
50,00%
|
847
|
822
|
22
|
3
|
CHESS
|
90,00%
|
1
|
1
|
0
|
0
|
|
80,00%
|
1
|
1
|
0
|
0
|
|
70,00%
|
3
|
2
|
1
|
0
|
|
60,00%
|
39
|
29
|
9
|
1
|
|
50,00%
|
197
|
124
|
69
|
4
|
|
45,00%
|
435
|
230
|
196
|
9
|
MUSHROOM
|
20,00%
|
1
|
1
|
0
|
0
|
|
10,00%
|
1
|
1
|
0
|
0
|
|
5,00%
|
3
|
2
|
1
|
0
|
|
3,00%
|
4
|
2
|
2
|
0
|
|
2,00%
|
7
|
3
|
3
|
1
|
|
1,00%
|
13
|
5
|
7
|
1
|
|
0,80%
|
17
|
6
|
10
|
1
|
|
0,30%
|
33
|
9
|
22
|
2
|
|
0,20%
|
40
|
10
|
26
|
4
|
|
0,10%
|
50
|
11
|
35
|
4
|
transactions reduite (10 items). Pour des valeurs de minsup
superieures ou egales a 0,5%, chaque generateur minimal frequent est aussi un
ferme. L'algorithme PRINCE n'execute donc pas sa deuxieme etape. Cependant, ce
n'est plus le cas pour des supports inferieurs A 0,5%. Le temps d'execution de
la deuxieme etape croit alors proportionnellement au nombre de generateurs
minimaux extraits lors de la premiere etape. Il est important de noter que la
construction de l'ordre partiel est influence par l'augmentation de la taille
de la bordure negative des generateurs minimaux
GBd-. En effet, dans le cas des bases eparses, le
treillis des itemsets frequents tend a se confondre avec le treillis des
generateurs minimaux. Ainsi, la quasi-totalite des itemsets sont des
generateurs minimaux. Grace a la metrique statistique minsup, ces itemsets sont
consideres generalement comme infrequents. Cette augmentation dans la taille de
la bordure negative GBd- induit une augmentation
dans l'espace de recherche des supports adequats lors de la construction de
l'ordre partiel. La troisieme etape presente un temps d'execution negligeable
etant donne que le nombre de generateurs minimaux frequents extraits reste
reduit meme pour des valeurs tres basses de minsup. Pour minsup=0,02, le nombre
de generateurs minimaux frequents est egal a 109 940.
- T4 O!1 OD1 OOK : cette base est caracterisee par un nombre
eleve de transactions ainsi qu'une taille moyenne des transactions elevee (40
items). Ainsi, la premiere etape s'avere la plus cofiteuse. Pour des valeurs de
minsup superieures ou egales a 1,5%, chaque generateur minimal frequent est
aussi un ferme et la deuxieme etape n'est pas executee. Pour des valeurs de
minsup inferieures a 1,5%, chaque generateur minimal frequent n'est plus un
ferme. De plus, le nombre de candidats generateurs minimaux augmente
considerablement en passant de minsup=1,5% a minsup=0,5%. En effet, pour
minsup=1,5%, le nombre de candidats generateurs minimaux est egal a 276 886
alors qu'il est egal a 3 452 429 pour minsup=0,5%. Ceci explique le saut dans
les temps d'execution de PRINCE entre ces deux valeurs de minsup. La troisieme
etape reste la moins cofiteuse. Son cofit ne depasse pas 2,74% du temps
d'execution total.
- RETAIL : comme c'est le cas pour la base T10I4D100K, la base
RETAIL est caracterisee par un nombre eleve de transactions et par une taille
moyenne reduite des transactions. La premiere etape est la plus coUteuse
comparee a la deuxieme et a la troisieme etape. La deuxieme etape est penalisee
par l'augmentation de la taille de la bordure negative des generateurs
minimaux GBd-. En effet, RETAIL est caracterisee
par un nombre eleve d'items et dont la quasi-totalite sont qualifies de
frequents avec les valeurs de minsup utilisees dans nos tests (pour
minsup=0,01%, 9 300 1-itemsets, parmi 16 470, sont frequents).
Ce nombre d'items fréquents entraine la
génération d'un nombre élevé de candidats et dont
la plupart sont infréquents. Ceci explique l'augmentation du temps
d'exécution de la deuxième étape en passant de
minsup=0,02% a minsup=0,01%. La troisième étape reste la moins
cofiteuse et son temps d'exécution est négligeable
comparativement aux deux premières étapes.
Il est intéressant de noter que pour une même
valeur de minsup égale a 0,5%, le temps d'exécution ainsi que le
nombre de générateurs minimaux fréquents extraits des
bases T10I4D100K et RETAIL sont comparables. En effet, le temps
d'exécution total est presque égal au temps d'exécution de
la première étape. De plus, le nombre de
générateurs minimaux fréquents extraits de T10I4D100K
(resp. RETAIL) est égal a 1 074 (resp. 582) pour une taille maximale
d'un générateur minimal fréquent égal a 6 (resp. 5)
items. Ces résultats peuvent être expliqués par un nombre
de transactions relativement proche pour ces deux bases, ainsi qu'une
même taille moyenne des transactions. Cependant, en comparant les
résultats de ces deux bases a ceux de la base T40I10D100K pour la
même valeur de minsup (cad 0,5%), nous (cad 0,5%), nous notons une
différence significative. En effet, le nombre de
générateurs minimaux fréquents extraits de la base
T40I10D100K pour cette valeur de minsup est égal a 1 276 055. Ceci
représente presque 1 188 (resp. 2 193) fois le nombre de
générateurs minimaux fréquents généré
dans T10I4D100K (resp. RETAIL). De même la taille maximale d'un
générateur minimal fréquent atteint 18 items. Ainsi, bien
que les trois bases T10I4D100K, T40I10D100K et RETAIL ont pratiquement le
même nombre de transactions, leurs tailles moyenne des transactions
expliquent la différence dans le nombre de générateurs
minimaux extraits. En effet, la taille moyenne des transactions dans le cas de
T40I10D100K, égale a 40 items, est quatre fois plus élevée
que celles des deux autres bases, égales a 10 items.
- ACCIDENTS : cette base est caractérisée par un
nombre très élevé de transactions avec une taille moyenne
importante. Ces caractéristiques ont pour conséquence le fait que
le temps d'exécution de la première étape domine le temps
d'exécution total de l'algorithme PRINCE. Il faut noter que pour des
valeurs de minsup supérieures ou égales a 40%, chaque
générateur minimal fréquent est aussi un fermé et
PRINCE n'a pas a exécuter sa deuxième étape. Comme pour
toutes les bases benchmark testées, la troisième étape,
cad l'extraction des bases génériques informatives de
règles, est la moins conteuse parmi les trois étapes constituant
l'algorithme PRINCE.
Base
|
minsup
|
Temps d,exécution total
|
1i`ere étape
|
2i`eme étape
|
3i`eme étape
|
T10I4D100K
|
0,50%
|
3
|
3
|
0
|
0
|
|
0,20%
|
4
|
4
|
0
|
0
|
|
0,10%
|
8
|
7
|
1
|
0
|
|
0,08%
|
10
|
9
|
1
|
0
|
|
0,05%
|
20
|
16
|
4
|
0
|
|
0,03%
|
50
|
35
|
15
|
0
|
|
0,02%
|
105
|
58
|
47
|
0
|
T40I10D100K
|
10,00%
|
3
|
3
|
0
|
0
|
|
5,00%
|
3
|
3
|
0
|
0
|
|
2,50%
|
5
|
5
|
0
|
0
|
|
1,50%
|
19
|
18
|
0
|
1
|
|
0,50%
|
582
|
480
|
86
|
16
|
RETAIL
|
0,5%
|
11
|
11
|
0
|
0
|
|
0,10%
|
18
|
17
|
1
|
0
|
|
0,08%
|
25
|
23
|
2
|
0
|
|
0,06%
|
50
|
47
|
3
|
0
|
|
0,04%
|
125
|
117
|
8
|
0
|
|
0,02%
|
626
|
579
|
47
|
0
|
|
0,01%
|
2 699
|
2 248
|
449
|
2
|
ACCIDENTS
|
90,00%
|
10
|
9
|
0
|
1
|
|
70,00%
|
16
|
15
|
0
|
1
|
|
50,00%
|
69
|
68
|
0
|
1
|
|
40,00%
|
219
|
217
|
0
|
2
|
|
30,00%
|
3 482
|
3 438
|
39
|
5
|
TAB . 4.5 -- Tableau comparatif des étapes constituant
PRINCE pour les bases éparses.

0.55
0.45
0.35
0.25
Minsup (en %)
T40I10D100K
512
étape 1 étape 2 étape 3
64
32
16
8
4
2
1
0.15 0.05 9.5 8.5 7.5 6.5 5.5 4.5 3.5 2.5 1.5 0.5
Minsup (en %)
Temps d'execution (en seconde)
Temps d'execution (en seconde)
T10I4D100K
étape 1 étape 2 étape 3
64
32
16
8
4
2
1
256
128
Temps d'execution (en seconde)
4096
1024
256
64
16
4
1

0.1
0.08
0.06
Retail
étape 1 étape 2 étape 3
0.04
0.02
0
Minsup (en %)
Temps d'execution (en seconde)
4096
1024
256
64
16
4
1
90

80
70
Accidents
60
étape 1 étape 2 étape 3
50
40
30
Minsup (en %)
FIG . 4.9 -- Temps d'exécution des étapes
constituant PRINCE pour les bases éparses
4.5.2 Bases "pire des cas"
Lors de ces expérimentations, nous avons utilisé
une valeur de minconf égale a 0. Pour toutes ces expérimentation,
la valeur de minsup est fixée a 1. Nous avons testé 26 bases
"pire des cas" représentant la variation de la valeur de n de 1
a 26.
Etant donné que ces bases représentent le pire
des cas, tout itemset candidat est un générateur minimal
fréquent et est égal a sa fermeture. Ainsi, l'algorithme PRINCE
n'exécute pas sa deuxième étape, cad celle relative a la
construction du treillis des générateurs minimaux. La
première étape est la plus cofiteuse étant donné le
nombre, égal a 2', de candidats générés a partir de
chaque base "pire des cas". La troisième étape est moins
cofiteuse que la première étape. Cependant, a partir d'une valeur
de n supérieure ou égale A 24, les temps
d'exécution de cette étape commencent a prendre de l'importance.
Ceci peut être expliqué par le fait que les accès, aux
informations nécessaires a l'exécution de cette étape,
s'exécutent dans l'espace d'échange et non plus en mémoire
centrale. Ainsi, ces accès deviennent de moins en moins rapides. En
effet, l'exécution des bases "pire des cas" est exigeante en espace
mémoire et sature rapidement la mémoire centrale bien que nous
minimisons la redondance en utilisant un seul trie au lieu de plusieurs. Ceci
explique l'arrêt de l'exécution de l'algorithme pour
n=26. Les temps d'exécution des différentes

Temps d'execution (en seconde)
16384
4096
1024
256
64
16
4
1
étape 1 étape 2 étape 3
15 16 17 18 19 20 21 22 23 24 25
n
FIG . 4.10 -- Temps d'exécution des étapes
constituant PRINCE pour les bases "pire des cas"
étapes de l'algorithme PRINCE sur les bases "pire des
cas" sont présentés par la figure 4.10 et le tableau 4.6. Dans ce
dernier, "/" signifie que l'exécution n'a pas pu arriver a terme.
4.6 Performances de PRINCE vs. CLOSE, A-CLOSE et
TITANIC
Dans cette section, nous allons comparer les performances de
notre algorithme PRINCE a respectivement celles des algorithmes CLOSE, A-CLOSE
et TITANIC.
4.6.1 Bases benchmark
Les expérimentations seront divisées en deux
parties : G Expérimentations sur des bases denses ;
Expérimentations sur des bases éparses.
4.6.1.1 Experimentations sur les bases denses
Les temps d'exécution de l'algorithme PRINCE
comparés respectivement aux algorithmes CLOSE, A-CLOSE et TITANIC sur
les bases denses sont présentés par la figure 4.11 et le tableau
4.7. Dans ce dernier, les trois dernières colonnes indiquent le facteur
multiplicatif des temps d'exécution de CLOSE, A-CLOSE et TITANIC par
rapport a l'algorithme PRINCE. "/" signifie que l'exécution n'a pas pu
arriver a terme et que le ratio correspondant ne peut être
calculé.
n
|
Temps d,exécution total
|
1i`ere étape
|
2i`eme étape
|
3i`eme étape
|
15
|
1
|
1
|
0
|
0
|
16
|
1
|
1
|
0
|
0
|
17
|
1
|
1
|
0
|
0
|
18
|
2
|
2
|
0
|
0
|
19
|
4
|
3
|
0
|
1
|
20
|
10
|
8
|
0
|
2
|
21
|
23
|
18
|
0
|
5
|
22
|
96
|
84
|
0
|
12
|
23
|
429
|
403
|
0
|
26
|
24
|
1 525
|
1 259
|
0
|
266
|
25
|
16 791
|
13 634
|
0
|
3 157
|
26
|
/
|
/
|
/
|
/
|
TAB . 4.6 -- Tableau comparatif des étapes constituant
PRINCE pour les bases 11pire des cas11.
- PUMSB : pour cette base, les performances de PRINCE sont
meilleures que celles de CLOSE, A-CLOSE et TITANIC pour toutes les valeurs de
minsup. Les performances de CLOSE et A-CLOSE se dégradent
considérablement étant donné qu'ils effectuent des
intersections sur un grand nombre de transactions de taille
élevée. Le mécanisme de comptage par inférence
adopté par TITANIC s'avère plus efficace que le calcul des
intersections adopté par CLOSE et A-CLOSE. Ceci peut être
expliqué par le nombre réduit d'items fréquents a prendre
en considération lors du calcul de la fermeture d'un
générateur minimal fréquent. En effet, pour minsup = 75%,
seulement 27 items parmi 7 117 possibles sont fréquents et la taille
maximale d'un générateur minimal fréquent est égale
a 12 items. Les performances de PRINCE peuvent être expliquées par
le fait que les traitements = effectuer pour un générateur
minimal fréquent sont beaucoup moins coUteux que ceux effectués
pour les trois autres algorithmes. D'autant plus, les fonctions de gestion des
classes d'équivalence permettent a PRINCE d'éviter un calcul
redondant des fermetures tel que c'est le cas pour A-CLOSE, CLOSE et TITANIC.
En effet, pour une valeur de minsup égale a 75%, le nombre de
générateurs minimaux fréquents (égal a 248406) est
presque égal = 2,46 fois le nombre d'itemsets fermés
fréquents (égal a 101 083).
la base PUMSB, est caracterisee par un grand nombre de
transactions de taille elevee. Ces caracteristiques compliquent la tache de
CLOSE et A-CLOSE qui effectuent des operations coUteuses d'intersection. PRINCE
et TITANIC evitent ces calculs coUteux avec un avantage pour PRINCE. En effet,
PRINCE est avantage par un coUt reduit des comparaisons effectuees pour un
generateur minimal frequent compare aux tentatives d'extension executees pour
un generateur minimal frequent dans le cas de TITANIC. Il est a noter que pour
une valeur de minsup = 50%, l'execution de TITANIC n'a pu se terminer pour
manque d'espace memoire. Dans cette base, et malgre qu'il n'y a aucun calcul
redondant des fermetures pour les trois algorithmes CLOSE, A-CLOSE et TITANIC
(le nombre de generateurs minimaux frequents est egal a celui des itemsets
fermes frequents), les performances de notre algorithme restent les
meilleures.
Vu le nombre de transactions et la taille moyenne des
transactions qui caracterisent les bases PUMSB et CONNECT, le calcul des
supports des candidats constituent une operation coUteuse pour les algorithmes
testes. Ainsi, la representation compacte de la base adoptee dans PRINCE et
l'utilisation d'un fichier binaire dans le cas des trois autres algorithmes
constituent des tentatives de reduction du coUt de cette operation.
- - CHESS : pour cette base, les performances de PRINCE sont
largement meilleures que celles de CLOSE, A-CLOSE et TITANIC pour toutes les
valeurs de minsup. Comme pour les deux premieres bases, notre algorithme est
avantage par un coUt reduit des traitements a executer pour chaque generateur
minimal frequent compare aux trois autres algorithmes. Le mecanisme de comptage
par inference adopte par TITANIC s'avere plus efficace que le calcul des
intersections adopte par les algorithmes CLOSE et A-CLOSE. Cependant, cette
efficacite tend a diminuer avec la baisse de la valeur de minsup. En effet,
pour calculer les itemsets fermes frequents, TITANIC essaie d'etendre tout
generateur minimal frequent par les items frequents adequats. Ceci necessite
des recherches de supports dont le nombre augmente avec l'augmentation du
nombre d'items frequents, chaque fois que la valeur de minsup diminue.
- MUSHROOM : dans le cas de la base MUSHROOM, PRINCE est
encore une fois meilleur que CLOSE, A-CLOSE et TITANIC. Pour cette base,
l'etape de calcul du support ne pese pas lourd sur les performances des quatre
algorithmes (vu le nombre reduit de transactions dans la base MUSHROOM ainsi
que la taille moyenne reduite des transactions). Cependant, les operations
relatives a la construction de l'ordre partiel dans le cas de PRINCE et au
calcul des fermetures dans le cas des trois autres algorithmes sont les
operations
les plus coUteuses. Les performances de notre algorithme
restent meilleures etant donne l'importance du role joue par les fonctions de
gestion des classes d'equivalence. En effet, pour une valeur de minsup egale a
0,1%, le nombre de generateurs minimaux frequents (egal a 360 166) est presque
egal a 2,20 fois le nombre d'itemsets fermes frequents (egal a 164117). De
meme, l'utilisation d'une liste prohibee au niveau de chaque classe
d'equivalence permet de reduire considerablement le nombre de comparaisons et
donc d'ameliorer les performances de notre algorithme. Ainsi, bien que CLOSE et
A-CLOSE beneficient d'un nombre reduit de transactions ainsi qu'une taille
moyenne des transactions relativement petite sur lesquelles ils executent des
intersections, ces deux algorithmes sont handicapes par un calcul redondant des
fermetures. De son cote, TITANIC fait mieux que CLOSE et A-CLOSE pour des
supports compris entre 20% et 2% alors que la tendance est largement inversee
en faveur de CLOSE et A-CLOSE pour des supports au dessous de 2%. Ceci peut
etre explique par le fait que TITANIC effectue beaucoup de recherches des items
adequats. Le nombre de ces recherches augmente considerablement, avec la baisse
des valeurs de minsup, etant donne que le nombre d'items frequents devient
eleve. En effet, pour minsup : 0,1%, 116 items sont frequents parmi 119
possibles et la taille maximale d'un generateur minimal frequent est egale a 10
items seulement.
L'algorithme PRINCE s'avere performant sur les bases denses et
pour toutes les valeurs de minsup. La difference entre les performances de
PRINCE et celles de CLOSE et A-CLOSE atteint son maximum pour la base PUMSB. En
effet, PRINCE est environ 160 (resp. 403) fois plus rapide que CLOSE (resp.
A-CLOSE) pour un support de 85%. De meme, PRINCE est environ 538 fois plus
rapide que TITANIC pour la base MUSHROOM et pour un support egal a 0,01%. Pour
ces bases denses, PRINCE est en moyenne 42 (resp. 89 et 41) fois plus rapide
que CLOSE (resp. A-CLOSE et TITANIC).
4.6.1.2 Experimentations sur les bases eparses
Les temps d'execution de l'algorithme PRINCE compares
respectivement aux algorithmes CLOSE, A-CLOSE et TITANIC sur les bases eparses
sont presentes par la figure 4.12 et le tableau 4.8. Dans ce dernier, les trois
dernieres colonnes indiquent le facteur multiplicatif des temps d'execution de
CLOSE, A-CLOSE et TITANIC par rapport a l'algorithme PRINCE. "/" signifie que
l'execution n'a pas pu arriver a terme et que le ratio correspondant ne peut
etre calcule.
Base
|
rninsup
|
PRINCE (en sec)
|
CLOSE (en sec)
|
A -CLOSE (en sec)
|
TITANIC (en sec)
|
i-
|
Ai,RCILN°csEE
|
T,IRTIANNciEc
|
PRINCEi°NscEE
|
|
|
PUMSB
|
95,00%
|
|
3
|
|
74
|
|
172
|
|
12
|
24,67
|
57,33
|
4,00
|
|
90,00%
|
|
7
|
|
679
|
1
|
914
|
|
36
|
97,00
|
273,43
|
5,14
|
|
85,00%
|
|
27
|
4
|
332
|
10
|
875
|
|
192
|
160,44
|
402,78
|
7,11
|
|
80,00%
|
|
416
|
19
|
848
|
47
|
167
|
1
|
233
|
47,71
|
113,38
|
2,96
|
|
75,00%
|
1
|
641
|
65
|
690
|
152
|
050
|
4
|
563
|
40,03
|
92,66
|
2,78
|
CONNECT
|
90,00%
|
|
8
|
|
853
|
1
|
652
|
|
23
|
106,62
|
206,50
|
2,87
|
|
80,00%
|
|
25
|
3
|
428
|
5
|
771
|
|
135
|
137,12
|
230,84
|
5,40
|
|
70,00%
|
|
66
|
7
|
358
|
12
|
028
|
|
452
|
111,48
|
182,24
|
6,85
|
|
60,00%
|
|
332
|
13
|
024
|
20
|
747
|
1
|
205
|
39,23
|
62,49
|
3,63
|
|
50,00%
|
|
847
|
22
|
164
|
35
|
903
|
|
/
|
26,17
|
42,39
|
/
|
CHESS
|
90,00%
|
|
1
|
|
6
|
|
15
|
|
1
|
6,00
|
15,00
|
1,00
|
|
80,00%
|
|
1
|
|
49
|
|
122
|
|
3
|
49,00
|
122,00
|
3,00
|
|
70,00%
|
|
3
|
|
217
|
|
481
|
|
25
|
72,33
|
160,33
|
8,33
|
|
60,00%
|
|
39
|
|
784
|
1
|
896
|
|
233
|
20,10
|
48,61
|
5,97
|
|
50,00%
|
|
197
|
2
|
560
|
5
|
451
|
1
|
520
|
12,99
|
27,67
|
7,71
|
|
45,00%
|
|
435
|
4
|
550
|
9
|
719
|
4
|
237
|
10,46
|
22,34
|
9,74
|
MUSHROOM
|
20,00%
|
|
1
|
|
14
|
|
28
|
|
2
|
14,00
|
28,00
|
2,00
|
|
10,00%
|
|
1
|
|
32
|
|
69
|
|
5
|
32,00
|
69,00
|
5,00
|
|
5,00%
|
|
3
|
|
59
|
|
121
|
|
21
|
19,67
|
40,33
|
7,00
|
|
3,00%
|
|
4
|
|
83
|
|
163
|
|
46
|
20,75
|
40,75
|
11,50
|
|
2,00%
|
|
7
|
|
98
|
|
197
|
|
81
|
14,00
|
28,14
|
11,57
|
|
1,00%
|
|
13
|
|
123
|
|
250
|
|
180
|
9,46
|
19,23
|
13,85
|
|
0,80%
|
|
17
|
|
132
|
|
270
|
|
246
|
7,76
|
15,88
|
14,47
|
|
0,30%
|
|
33
|
|
154
|
|
322
|
3
|
127
|
4,67
|
9,76
|
94,76
|
|
0,20%
|
|
40
|
|
159
|
|
336
|
10
|
518
|
3,97
|
8,40
|
262,95
|
|
0,10%
|
|
50
|
|
168
|
|
352
|
26
|
877
|
3,36
|
7,04
|
537,54
|
TAB . 4.7 - Tableau comparatif des resultats experimentaux de
PRINCE vs. A-CLOSE, CLOSE et TITANIC pour les bases denses.

Temp d'execution (en seconde)
65536
16384
4096
1024
256
64
16
4
90
80
Connect
70
Prince
Close A-Close Titanic
60
50
Temps d'execution (en seconde)
262144
65536
16384
4096
1024
256
64
16
4
1
95
90
Pumsb
85
Prince
Close A-Close Titanic
80
75
65536
16384
4096
1024
256
64
16
4
1
Temps d'execution (en seconde)
m insup (en %)
16384
4096
1024
256
64
16
4
1
Temps d'execution (en seconde)
Chess

Prince
Close A-Close Titanic
90 80 70 60 50 40
m insup (en %)
m insup (en %)
Mushroom

Prince
Close A-Close Titanic
20 18 16 14 12 10 8 6 4 2 0
m insup (en %)
FIG . 4.11 -- Les performances de PRINCE vs. CLOSE, A-CLOSE et
TITANIC pour les bases denses
PRINCE fait mieux que cet algorithme pour des valeurs de
minsup supérieures ou égales a 0,03%. Alors que c'est l'inverse
pour des supports inférieurs a 0,03%. Ceci peut être
expliqué par le fait que PRINCE est pénalisé par le coiit
de la construction de l'ordre pour de tres basses valeurs de minsup. Cependant,
CLOSE est avantagé par une taille moyenne des transactions relativement
faible (10 items). Notons que pour des valeurs de minsup supérieures ou
égales a 0,5%, chaque générateur minimal fréquent
est un fermé. Ainsi, PRINCE ne nécessite pas l'exécution
de la procédure GEN-ORDRE étant donné que l'ordre est
déjà construit a la fin de la premiere étape. De son
coté, A-CLOSE n'effectue aucun calcul de fermeture. Ainsi, A-CLOSE prend
le dessus sur CLOSE. Cependant, comparé a PRINCE pour les mêmes
valeurs de support (supérieures ou égales a 0,5%), A-CLOSE se
voit moins rapide en raison du balayage supplémentaire de l'ensemble des
générateurs minimaux fréquents de taille (k-1)
effectué pour chaque candidat g de taille k. Ce
balayage permet de comparer le support de g a celui de ses
sous-ensembles de taille (k-1) afin de savoir si g est
minimal ou non. Au fur et a mesure que la valeur de minsup diminue, les
performances de TITANIC se dégradent considérablement. En effet,
le nombre d'items fréquents, a considérer dans le calcul de la
fermeture d'un générateur minimal fréquent, croit
énormément suite a la baisse des valeurs de minsup. Ainsi, pour
minsup=0,02%, 859
items sont frequents parmi 1 000 possibles et la taille maximale
d'un generateur minimal frequent est egale a 10 items seulement.
- T40I10D1OOK : les performances de PRINCE dans cette base
sont largement meilleures que celles de CLOSE, A-CLOSE et TITANIC quelle que
soit la valeur de minsup. Pour les valeurs de minsup superieures ou egales a
1,5%, le scenario de la base T10I4D100K, pour des valeurs de minsup superieures
ou egales a 0,5%, semble se repeter. En effet, pour ces valeurs, chaque
generateur minimal frequent est aussi un ferme. Pour des supports inferieurs a
1,5%, A-CLOSE est oblige de calculer les fermetures. Ainsi, CLOSE et A-CLOSE
sont handicapes par une taille moyenne elevee des transactions (40 items)
sachant que CLOSE prend le dessus sur A-CLOSE. De même, les performances
de TITANIC se degradent d'une manière considerable pour les mêmes
raisons evoquees auparavant. Le coUt des comparaisons, dans le cas de PRINCE,
etant nettement plus reduit que le coUt du calcul des intersections (resp. des
tentatives d'extension) pour calculer la fermeture d'un generateur minimal
frequent dans le cas de CLOSE et A-CLOSE (resp. TITANIC) explique l'ecart dans
les performances entre PRINCE et les trois autres algorithmes.
- - RETAIL : pour cette base, notre algorithme realise des
temps d'execution beaucoup moins importants que ceux realises par CLOSE,
A-CLOSE et TITANIC. Pour des valeurs de minsup superieures a 0,08%, les temps
d'execution de PRINCE, CLOSE et A-CLOSE restent comparables avec un avantage
pour PRINCE. Pour des valeurs de minsup superieures a 0,06%, les performances
de PRINCE et A-CLOSE restent comparables avec un avantage pour PRINCE.
Toutefois, les performances de CLOSE se degradent considerablement. Pour des
valeurs de supports inferieures a 0,06%, les performances de A-CLOSE se
degradent aussi d'une manière significative. Ces performances peuvent
être expliquees par l'influence enorme du nombre eleve d'items dans
RETAIL. En effet, CLOSE est handicape par un nombre enorme de candidats pour
lesquels il est oblige de calculer la fermeture alors qu'un grand nombre
d'entre eux s'avèrera non frequent. Le nombre de candidats affecte aussi
les performances de A-CLOSE a cause des balayages supplementaires ainsi que le
coUt du calcul des fermetures. De son cote, TITANIC est considerablement
alourdi par un grand nombre d'items frequents a considerer lors du calcul de la
fermeture d'un generateur minimal frequent (pour minsup = 0,04%, 4 463 items
sont frequents et la taille maximale d'un generateur minimal frequent est egale
a 6 items seulement). L'execution de TITANIC, pour des supports inferieurs a
0,04%, s'arrête pour manque d'espace memoire. PRINCE fait mieux que les
trois autres algorithmes etant donne que les traitements relatifs a chaque
generateur minimal sont nettement moins coUteux.
- ACCIDENTS : dans cette base, les performances de PRINCE sont
meilleures que celles de CLOSE, A-CLOSE et TITANIC pour toutes les valeurs de
minsup. Pour des valeurs de minsup superieures ou egales a 40%, chaque
generateur minimal frequent est un ferme. Ainsi, le meme scenario, que dans les
cas des bases T10I4D100K et T40D10I100K pour des supports respectivement
superieurs ou egaux a 0,5% et 1,5%, s'est repete. CLOSE est enormement
desavantage par un nombre eleve de transactions que contient ACCIDENTS ainsi
qu'une taille moyenne des transactions relativement elevee. Ceci induit des
coits enormes pour le calcul des fermetures. Pour des supports inferieurs a
40%, PRINCE doit executer sa deuxieme etape (cad la procedure GEN-ORDRE) pour
construire l'ordre partiel. Les performances de A-CLOSE se degradent d'une
maniere considerable etant donne qu'il est oblige de calculer les fermetures
sur un nombre eleve de transactions. Le mecanisme de comptage par inference
adopte par TITANIC s'avere plus efficace que le calcul des intersections adopte
par CLOSE et A-CLOSE. Ceci peut etre explique par le nombre reduit d'items
frequents a prendre en consideration lors du calcul de la fermeture d'un
generateur minimal frequent. En effet, seuls 32 items parmi 468 sont frequents
pour minsup egal a 30% et la taille maximale d'un generateur minimal frequent
est egale a 12 items. Pour la base ACCIDENTS et pour toutes les valeurs de
minsup, l'operation consistant en le calcul des supports des candidats pese
enormement lourd sur les quatre algorithmes (il y a un nombre eleve de
transactions de taille moyenne relativement elevee). Ainsi, dans le cas de
l'algorithme PRINCE, la representation compacte de la base presente une
solution importante pour faire face au coit de cette operation. Il en est de
meme pour la raison de l'utilisation d'un fichier binaire en entree des trois
autres algorithmes.
L'algorithme PRINCE s'avere aussi performant sur les bases
eparses et pour toutes les valeurs de minsup. La difference entre les
performances de PRINCE et celles de CLOSE et TITANIC atteint son maximum pour
la base RETAIL. En effet, PRINCE est environ 115 (resp. 261) fois plus rapide
que CLOSE (resp. TITANIC) pour un support de 0,04%. De meme, PRINCE est environ
57 fois plus rapide que A-CLOSE pour la base ACCIDENTS et pour une valeur de
minsup egale a 30%. Pour ces bases eparses, PRINCE est en moyenne 31 (resp. 13
et 32) fois plus rapide que CLOSE (resp. A-CLOSE et TITANIC).
4.6.2 Bases !!pire des cas!!
Pour toutes ces experimentation, la valeur de minsup est fixee
a 1. Nous avons teste 26 bases "pire des cas" representant la variation de la
valeur de n de 1 a 26. Etant donne que ces bases representent le pire
des cas, tout itemset candidat est un generateur minimal
Temps d'execution (en seconde)
Temps d'execution (en seconde)

T40I10D100K
262144
65536
16384
4096
1024
256
64
16
4
1
Prince
Close A-Close Titanic
T10I4D100K

Prince Close A-Close Titanic
2048
1024
512
256
128
64
32
16
8
4
2
0.55 0.45 0.35 0.25
0.15 0.05 9.5 8.5 7.5 6.5 5.5 4.5 3.5 2.5 1.5
m insup (en %)
0.5
m insup (en %)
Temps d'execution (en seconde)
262144
65536
16384
4096
1024
256
64
16

0.1
0.08
0.06
Retail
Prince Close A-Close Titanic
0.04
0.02
0
Temps d'execution (en seconde)
262144
65536
16384
4096
1024
256
64
16
4
90

80
70
Accidents
60
Prince
Close A-Close Titanic
50
40
30
m insup (en %) m insup (en %)
FIG . 4.12 -- Les performances de PRINCE vs. CLOSE, A-CLOSE et
TITANIC pour les bases éparses
fréquent et est égal a sa fermeture.
Les temps d'exécution des quatre algorithmes ne
commencent a être distinguables qu'à partir d'une valeur de
n égale a 15. Pour les bases "pire des cas", les performances de
PRINCE restent meilleures que celles de CLOSE, A-CLOSE et TITANIC. Chaque
générateur minimal fréquent est aussi un fermé.
Ainsi, PRINCE n'exécute pas sa deuxieme étape, le treillis des
générateurs minimaux étant construit des la fin de sa
premiere étape. De son coté, A-CLOSE ne calcule pas les
fermetures. D'oft, ses performances sont meilleures que celles de CLOSE et
celles de TITANIC. Notons que dans ce type de bases, chaque candidat est un
générateur minimal fréquent. Ainsi, pour chaque
itemset g de taille k (qui est un générateur
minimal fréquent), A-CLOSE et TITANIC effectuent un balayage des
sous-ensembles de g de taille (k-1). Dans le cas de A-CLOSE,
ce balayage permet de vérifier que le candidat g a un support
différent de celui de ces sous-ensembles en question pour le qualifier
de générateur minimal fréquent. Dans le cas de TITANIC, ce
balayage permet d'optimiser le calcul de la fermeture de g en
collectant les items appartenant aux fermetures des sous-ensembles en question.
De plus, TITANIC essaie l'étendre l'itemset résultat de ce
balayage par les items adéquats. De son coté, CLOSE est aussi
contraint a calculer la fermeture de tout itemset fréquent, ce dernier
étant un générateur minimal
frequent. Il est important de noter que les calculs de
fermetures effectues par CLOSE et TITANIC s'avereront sans utilite car tout
generateur minimal est egal a sa fermeture. L'execution de ces deux algorithmes
n'ont pu se terminer pour une valeur de n egale a 24, en raison du
manque d'espace memoire. Pour la meme raison, l'execution de A-CLOSE n'a pu se
terminer pour une valeur de n egale a 25. L'execution de notre
algorithme prend aussi fin, pour n26. La figure 4.13 et le tableau 4.9
donnent le comportement des algorithmes suivant la variation de la valeur
de n. Dans le tableau 4.9, les trois dernieres colonnes indiquent le
facteur multiplicatif des temps d'execution de CLOSE, A-CLOSE et TITANIC par
rapport a l'algorithme PRINCE. "/" signifie que l'execution n'a pas pu arriver
a terme et que le ratio correspondant ne peut etre calcule.
Ce test de mise a l'echelle montre aussi l'interêt de
l'utilisation d'un seul trie pour stocker les informations relatives a tous les
generateurs minimaux (cas de PRINCE) comparee a l'utilisation de plusieurs
tries dans le cas des trois autres algorithmes. En effet, pour CLOSE, A-CLOSE
et TITANIC, un trie est utilise pour stocker les informations relatives a
chaque ensemble de generateurs minimaux d'une taille k donnee. Ceci
rend eleve le nombre d'informations redondantes stockees dans ces tries et
augmente ainsi l'espace memoire necessaire.
L'algorithme PRINCE reste meilleur que les algorithmes CLOSE,
A-CLOSE et TITANIC sur les bases "pire des cas". La difference entre les
performances de PRINCE et celles de CLOSE (resp. A-CLOSE et TITANIC) est
maximale pour n21 (resp. 19 et 23). En effet, pour ces valeurs de
n, PRINCE est environ 29 (resp. 4 et 10) fois plus rapide que CLOSE (resp.
A-CLOSE et TITANIC). Pour ces bases "pire des cas", PRINCE est en moyenne 16
(resp. 3 et 4) fois plus rapide que CLOSE (resp. A-CLOSE et TITANIC).

Temps d'execution (en seconde)
65536
16384
4096
1024
256
64
16
4
1
Prince
Close A-Close Titanic
15 16 17 18 19 20 21 22 23 24 25
n
4.7 Conclusion
Dans ce chapitre, nous avons présenté une
étude expérimentale sur l'algorithme PRINCE, que nous avons
proposé, pour l'extraction des itemsets fermés fréquents,
leurs générateurs minimaux associés ainsi que les regles
génériques informatives valides. Les expérimentations, que
nous avons menées, concernent l'étude de quelques optimisations
apportées a l'algorithme PRINCE ainsi qu'une analyse de ses
caractéristiques. Ensuite, nous avons effectué différents
tests, sur des bases benchmark et sur des bases "pire des cas", pour
évaluer les performances de l'algorithme PRINCE comparées a
celles des algorithmes CLOSE, A-CLOSE et TITANIC. Ces expérimentations
ont montré que PRINCE est plus performant que les algorithmes
d'exploration nivelée existants dans la littérature pour tous les
types de bases utilisées.
Base
|
rninsup
|
PRINCE (en sec)
|
CL0SE (en sec)
|
A - C L 0 S E (en sec)
|
TITANIC (en sec)
|
i-
|
Ai,RCILN°csEE
|
T,IRTIANNciEc
|
PRINCEj'aNscEE
|
|
|
T10I4D100K
|
0,50%
|
|
3
|
|
17
|
|
9
|
|
7
|
5,67
|
3,00
|
2,33
|
|
0,20%
|
|
4
|
|
26
|
|
40
|
|
58
|
6,50
|
10,00
|
14,50
|
|
0,10%
|
|
8
|
|
34
|
|
57
|
|
136
|
4,25
|
7,12
|
17,00
|
|
0,08%
|
|
10
|
|
37
|
|
62
|
|
174
|
3,70
|
6,20
|
17,40
|
|
0,05%
|
|
20
|
|
49
|
|
71
|
|
247
|
2,45
|
3,55
|
12,35
|
|
0,03%
|
|
50
|
|
66
|
|
87
|
|
387
|
1,32
|
1,74
|
7,74
|
|
0,02%
|
|
105
|
|
93
|
|
108
|
1
|
316
|
0,88
|
1,03
|
12,53
|
T40I10D100K
|
10,00%
|
|
3
|
|
44
|
|
23
|
|
20
|
14,67
|
7,67
|
6,67
|
|
5,00%
|
|
3
|
|
140
|
|
43
|
|
21
|
46,67
|
14,33
|
7,00
|
|
2,50%
|
|
5
|
|
238
|
|
67
|
|
26
|
47,60
|
13,40
|
5,20
|
|
1,50%
|
|
19
|
|
366
|
|
108
|
|
66
|
19,26
|
5,68
|
3,47
|
|
0,50%
|
|
582
|
5
|
420
|
11
|
564
|
117
|
636
|
9,31
|
19,87
|
202,12
|
RETAIL
|
0,10%
|
|
18
|
|
37
|
|
33
|
|
158
|
2,05
|
1,83
|
8,78
|
|
0,08%
|
|
25
|
|
52
|
|
43
|
|
415
|
2,08
|
1,72
|
16,60
|
|
0,06%
|
|
50
|
2
|
185
|
|
63
|
3
|
089
|
43,70
|
1,26
|
61,78
|
|
0,04%
|
|
125
|
14
|
358
|
1
|
833
|
32
|
663
|
114,86
|
14,66
|
261,30
|
|
0,02%
|
|
626
|
53
|
208
|
18
|
269
|
|
/
|
85,00
|
29,18
|
/
|
|
0,01%
|
2
|
699
|
159
|
217
|
52
|
162
|
|
/
|
58,99
|
19,33
|
/
|
ACCIDENTS
|
90,00%
|
|
10
|
|
79
|
|
50
|
|
25
|
7,90
|
5,00
|
2,50
|
|
70,00%
|
|
16
|
|
440
|
|
206
|
|
63
|
27,50
|
12,87
|
3,94
|
|
50,00%
|
|
69
|
4
|
918
|
1
|
839
|
|
381
|
71,27
|
26,65
|
5,52
|
|
40,00%
|
|
219
|
17
|
528
|
6
|
253
|
2
|
120
|
80,04
|
28,55
|
9,68
|
|
30,00%
|
3
|
482
|
170
|
540
|
199
|
980
|
9
|
530
|
48,98
|
57,43
|
2,74
|
TAB . 4.8 - Tableau comparatif des resultats experimentaux de
PRINCE vs. A-CLOSE, CLOSE et TITANIC pour les bases eparses.
n
|
PRINCE (en sec)
|
CLOSE (en sec)
|
A-CLOSE (en sec)
|
TITANIC (en sec)
|
CLOSE
|
ACLOSE
|
TITANIC
|
PRINCE
|
PRINCE
|
PRINCE
|
15
|
1
|
2
|
|
1
|
1
|
2,00
|
1,00
|
1,00
|
16
|
1
|
5
|
|
2
|
2
|
5,00
|
2,00
|
2,00
|
17
|
1
|
13
|
|
4
|
4
|
13,00
|
4,00
|
4,00
|
18
|
2
|
32
|
|
8
|
9
|
16,00
|
4,00
|
4,50
|
19
|
4
|
81
|
|
17
|
17
|
20,25
|
4,25
|
4,25
|
20
|
10
|
217
|
|
36
|
37
|
21,70
|
3,60
|
3,70
|
21
|
23
|
670
|
|
77
|
80
|
29,13
|
3,35
|
3,48
|
22
|
96
|
2 058
|
|
200
|
353
|
21,44
|
2,08
|
3,68
|
23
|
429
|
5 932
|
|
890
|
4 129
|
13,83
|
2,10
|
9,62
|
24
|
1 525
|
/
|
3
|
519
|
/
|
/
|
2,31
|
/
|
25
|
16 791
|
/
|
|
/
|
/
|
/
|
/
|
/
|
26
|
/
|
/
|
|
/
|
/
|
/
|
/
|
/
|
TAB . 4.9 -- Tableau comparatif des resultats experimentaux de
PRINCE vs. A-CLOSE, CLOSE et TITANIC pour les bases "pire des cas".
Conclusion générale
La fouille de donnees est un domaine qui est apparu suite a un
besoin incessant exprime par les entreprises. Ce besoin consiste en l'analyse
des flux de donnees qui s'accumulent quotidiennement dans leurs bases de
donnees. Partant du fait que l'analyse de ces donnees est une solution cle pour
toute entreprise voulant tirer profit des masses d'informations stockees, la
fouille des donnees s'est vite integree dans differents domaines [42]. La
fouille de donnees englobe plusieurs techniques, dont l'extraction des regles
d'association. Ainsi, l'approche basee sur l'extraction des itemsets fermes
frequents [48], issue de l'analyse formelle de concepts [66], presentait une
promesse claire de reduire, sans perte d'information, la liste de toutes les
regles d'association extraites d'un contexte. Ceci donnait la possibilite de
presenter un ensemble minimal de regles a l'utilisateur afin de lui permettre
de mieux les visualiser et les exploiter. Une etude critique nous a permis de
constater que les algorithmes dediees a cette approche ont failli a cette
promesse. En effet, ils ne font qu'extraire les itemsets fermes frequents et au
plus leurs generateurs minimaux associes sans se soucier de la relation d'ordre
partiel.
Afin de satisfaire la promesse apportee par l'approche basee
sur l'extraction des itemsets fermes frequents, nous avons introduit un nouvel
algorithme, appele PRINCE, permettant d'extraire les composantes suivantes :
1. Les itemsets fermes frequents ;
2. Les generateurs minimaux associes aux itemsets fermes
frequents ;
3. La relation d'ordre sous-jacente.
La principale originalite de l'algorithme introduit est qu'il
construit une structure partiellement ordonnee, appelee treillis des
générateurs minimaux. Cette structure maintient la relation
d'ordre partiel entre les generateurs minimaux frequents et non plus entre les
itemsets fermes frequents. Une fois cette structure construite, la generation
des bases generiques de regles d'association devient immediate. En effet, un
parcours ascendant permet de deriver les regles generiques sans avoir a
calculer les fermetures. L'etude de la
complexité théorique de l'algorithme PRINCE nous
a montré que sa complexité au pire des cas est linéaire en
fonction du nombre d'itemsets fermés fréquents 2'. Cependant,
cette complexité théorique reste de même ordre de grandeur
que celle des algorithmes dédiés a l'extraction des itemsets
fermés fréquents. L'étude expérimentale, que nous
avons menée, a porté sur deux parties. La première partie
a consisté a tester l'effet des optimisations apportées a
l'algorithme PRINCE et a analyser ses caractéristiques. La
deuxième partie s'est intéressée a comparer les
performances de notre algorithme comparées a celles des algorithmes
CLOSE, A-CLOSE et TITANIC. Cette deuxième partie des
expérimentations a montré que l'algorithme PRINCE est plus
performant que les algorithmes CLOSE, A-CLOSE et TITANIC sur les bases
benchmark et les bases "pire des cas". En effet, PRINCE est en moyenne 33
(resp. 45 et 32) fois plus rapide que CLOSE (resp. A-CLOSE et TITANIC) et la
différence atteint 160 (resp. 403 et 538) fois.
Bien que les résultats obtenus sont encourageants,
plusieurs perspectives de travaux futurs peuvent être envisagées
pour l'amélioration des performances de l'algorithme PRINCE. Ces
perspectives sont comme suit :
G L'étude de la possibilité d'intégrer la
notion d'itemsets non-dérivables fréquents [18] dans la
première étape de PRINCE, cad Détermination des
générateurs minimaux. En effet, cette notion s'applique a tout
ensemble vérifiant la propriété d'idéal d'ordre tel
que l'ensemble des générateurs minimaux dans notre cas. Elle
permet d'estimer, moyennant l'application d'un système
d'inéquations, le support minimal (lower bound) et le support
maximal (upper bound) que peut avoir un candidat c. Si ces deux
supports sont égaux, il n'y a nul besoin d'ajouter c parmi les
candidats auxquels un accès au contexte d'extraction est
nécessaire pour calculer leurs supports car le support réel
de c est égal a son support minimal (égal a son support
maximal). Ainsi, cette intégration devrait réduire le nombre de
candidats lors de l'étape, parfois cofiteuse, du calcul du support des
candidats. Il serait alors intéressant de voir si malgré le cofit
induit par l'application du système d'inéquations pour chaque
candidat, l'intégration de ces travaux permettent de réduire le
cofit du calcul du support.
Un remplacement du stockage de la bordure négative des
générateurs minimaux GBd-, utilisée
lors de la deuxième étape de PRINCE, par le stockage d'un
sous-ensemble de GBd-, appelée bordure
négative des générateurs minimaux infréquents et
notée IDFreeGBd- [39]. En effet, dans [39], l'auteur
montre que l'union de l'ensemble des générateurs minimaux
fréquents GMFK et de IDFreeGBd- est une
représentation concise de l'ensemble des itemsets fréquents. Ce
stockage présente un avantage,
a savoir de reduire l'espace de recherche lors de la recherche
d'un support dans la deuxieme etape. Cependant, il presente aussi une
contrainte, a savoir le coUt de la determination de
IDFreeGBd- [39]. L'elaboration d'une version de PRINCE
utilisant IDFreeGBd- au lieu de GBd-
parait interessante a tester.
La reduction d'avantage du nombre de regles generiques
extraites et ceci moyennant deux pistes possibles :
1. Utilisation d'autres contraintes autres que le seuil minimum
de confiance, minconf [15].
2. Restriction de l'extraction des bases generiques
informatives aux generateurs minimaux frequents formant une representation
succincte des generateurs minimaux [22]. Cette representation est de taille
inferieure a celle de l'ensemble des generateurs minimaux frequents
GMFK et permet ainsi de reduire le nombre de regles informatives. Il
serait alors interessant d'etudier les proprietes des nouvelles bases obtenues
ainsi que de trouver un systeme axiomatique permettant de retrouver toutes les
regles formant les bases generiques informatives.
Bibliographie
[1] R. Agrawal, T. Imielinski, an d A. Swami. Mining
association rules between sets of items in large databases. In Proceedings of
the ACM-SIGMOD Intl. Conference on Management of Data, Washington D. C., USA,
pages 207216, May 1993.
[2] R. Agrawal an d R. Srikant. Fast algorithms for mining
association rules. In J. B. Bocca, M. Jarke, an d C. Zaniolo, editors,
Proceedings of the 20th Intl. Conference on Very Large Databases, Santiago,
Chile, pages 478-499, June 1994.
[3] M. Barbut an d B. Monjar det. Ordre et classification.
Algèbre et Combinatoire. Hachette, Tome II, 1970.
[4] Y. Basti de. Data mining : algorithmes par niveau,
techniques d,implantation et applications. These de doctorat, Ecole
Doctorale Sciences pour l,Ingénieur de Clermont-Ferrand,
Université Blaise Pascal, France, Décembre 2000.
[5] Y. Basti de, N. Pasquier, R. Taouil, L. Lakhal, an d G.
Stumme. Mining minimal non-redundant association rules using frequent close d
itemsets. In Proceedings of the International Conference DOOD'2000,
Springer-Verlag, LNAI, volume 1861, London, UK, pages 972986, July 2000.
[6] Y. Basti de, R. Taouil, N. Pasquier, G. Stumme, an d L.
Lakhal. Mining frequent patterns with counting inference. The Sixth ACM-SIGKDD
International Conference on Knowledge Discovery and Data Mining, Boston,
Massachusetts, USA, 2(2) :6675, August 2023, 2000.
[7] S. BenYahia, C. L. Cherif, G. Mineau, an d A. Jaoua.
Découverte des regles associatives non re don dantes : application aux
corpus textuels. Revue d'Intelligence Artificielle (special issue of Intl.
Conference of Journées francophones d'Extraction et Gestion des
Connaissances (EGC'2003)), Lyon, France, 17(123) :131143, 2224 Janvier 2003.
[8] S. BenYahia, N. Doggaz, Y. Slimani, an d J. Rezgui. A
Galois connection semantics-based approach for deriving generic bases of
association rules. Revue d'Intelligence Artificielle (special issue of Intl.
Conference of Journées francophones d'Extraction et Gestion des
Connaissances (EGC'2004)), Clermont-Ferrand, France, 17(1) :131143, 2124
Janvier 2004.
[9] S. BenYahia an d E. Mephu Nguifo. Approches
d,extraction de regles d,association basées sur la
correspon dance de Galois. In J.-F. Boulicault an d B. Cremilleux, editors,
Revue
d'Ingénierie des Systêmes d'Information (ISI),
Hermês-Lavoisier, volume 9, pages 2355, 2004.
[10] S. BenYahia an d E. Mephu Nguifo. Revisiting generic
bases of association rules. In Proceedings of 6th International Conference on
Data Warehousing and Knowledge Discovery (DaWaK 2004), LNCS 3181,
Springer-Verlag, Zaragoza, Spain, pages 58-67, September 13, 2004.
[11] M. J. A. Berry an d G. S. Linoff. Data Mining Techniques :
For Marketing, Sales, and Customer Relationship Management, Second Edition.
Wiley Publishing, 2004.
[12] F. Bo don. A fast apriori implementation. In B. Goethals
an d M. J. Zaki, editors, Proceedings of the IEEE ICDM Workshop on Frequent
Itemset Mining Implementations (FIMI'03), volume 90 of CEUR Workshop
Proceedings, Melbourne, Florida, USA, November 19, 2003.
[13] F. Bo don. Surprising results of trie-base d fim
algorithms. In B. Goethals, M. J. Zaki, and R. Bayar do, editors, Proceedings
of the IEEE ICDM Workshop on Frequent Itemset Mining Implementations (FIMI'04),
volume 126 of CEUR Workshop Proceedings, Brighton, UK, November 1st 2004.
[14] F. Bo don an d L. Rányai. Trie : An alternative
data structure for data mining algorithms. Journal of Hungarian Applied
Mathematics and Computer Application, 38(7-9) :739751, October 2003.
[15] F. Bonchi an d C. Lucchese. On close d constraine d
frequent pattern mining. In Proceedings of the Fourth IEEE International
Conference on Data Mining (ICDM'04), Brighton, UK, pages 3542, November 14,
2004.
[16] J.-F. Boulicault an d B. Crémilleux. Editorial du
volume. In J.-F. Boulicault an d B. Cremilleux, editors, Revue
d'Ingénierie des Systêmes d'Information (ISI),
Hermês-Lavoisier, volume 9, pages 722, 2004.
[17] T. Brijs, G. Swinnen, K. Vanhoof, an d G. Wets. Using
association rules for product as-
sortment decisions : A case study. In Proceedings of the sixth
ACM-SIGKDD International
Conference on Knowledge Discovery and Data Mining, San Diego,
California, USA, pages
254260, August 1518 1999.
[18] T. Cal ders an d B. Goethals. Mining all non-derivable
frequent itemsets. In T. Elomaa, H. Mannila, an d H. Toivonen, editors,
Proceedings of the 6th European Conference on Principles of Data Mining and
Knowledge Discovery, PKDD 2002, LNCS, volume 2431, Springer-Verlag, Helsinki,
Finland, pages 7485, August 1923 2002.
[19] W. Cheung an d O.R. Zaiane. Incremental mining of
frequent patterns without candidate generation or support constraint. In
Proceedings of the Seventh International Database Engineering and Applications
Symposium (IDEAS 2003), Hong Kong, China, pages 111 116, July 1618, 2003.
[20] C. Creighton an d S. Hanash. Mining gene expression
databases for association rules. In Journal Bioinformatics, volume 19, pages
79-86, 2003.
[21] B.A Davey an d H.A. Priestley. Introduction to Lattices and
Order. Cambridge University Press, 2002.
[22] G. Dong, C. Jiang, J. Pei, J. Li, an d L. Wong. Mining
succinct systems of minimal generators of formal concepts. In Proceedings of
10th International Conference on Database Systems for Advanced Applications
(DASFAA 2005), Beijing, China, pages 175187, April 2005.
[23] A. Le Floc,h, C. Fisette, R. Missaoui, P.
Valtchev, an d R. Go din. JEN : un algorithme efficace de construction de
générateurs pour l,i dentification des regles
d,association. Numéro spécial de la revue des
Nouvelles Technologies de l'Information, 1(1) :135-146, 2003.
[24] J. M. Franco. Le Data Warehouse Le Data Mining.
Eyrolles, 1999.
[25] W. J. Frawley, G. Piatetsky-Shapiro, an d C. J. Matheus.
Knowledge discovery in databases - an overview. Artificial Intelligence
Magazine, 13 :5770, 1992.
[26] H. Fu an d E. Mephu Nguifo. Etude et conception
d,algorithmes de génération de concepts formels. In
J.-F. Boulicault an d B. Crémilleux, editors, Revue d'Ingénierie
des Systêmes d'Information (ISI), Hermês-Lavoisier, volume 9, pages
109-132, 2004.
[27] B. Ganter an d R. Wille. Formal Concept Analysis.
Springer-Verlag, 1999.
[28] K. Geurts. Traffic accidents data set. In B. Goethals an
d M. J. Zaki, editors, Proceedings of the IEEE ICDM Workshop on Frequent
Itemset Mining Implementations (FIMI'03), volume 90 of CEUR Workshop
Proceedings, Melbourne, Florida, USA, November 19, 2003.
[29] R. Go din, R. Missaoui, an d H. Alaoui. Incremental
concept formation algorithms base don Galois (concept) lattices. Journal of
Computational Intelligence, 11(2) :246267, May 1995.
[30] G. Grahne an d J. Zhu. Efficiently using prefix-trees in
mining frequent itemsets. In B. Goethals an d M. J. Zaki, editors, Proceedings
of the IEEE ICDM Workshop on Frequent Itemset Mining Implementations (FIMI'03),
volume 90 of CEUR Workshop Proceedings, Melbourne, Florida, USA, November 19,
2003.
[31] J. L. Guigues an d V. Duquenne. Familles minimales
d,implications informatives résultant d,un tableau
de données binaires. Mathématiques et Sciences Humaines, 24(95)
:518, 1986.
[32] T. Hamrouni, S. BenYahia, an d Y. Slimani. PRINCE :
Extraction optimisée des bases génériques de regles sans
calcul de fermetures. In Proceedings of the 23rd International Conference
INFORSID, Inforsid Editions, Grenoble, France, pages 353368, 2427 Mai 2005.
[33] T. Hamrouni, S. BenYahia, an d Y. Slimani. PRINCE : An
algorithm for generating rule bases without closure computations. In A Min Tjoa
an d J. Trujillo, editors, Proceedings of the 7th International Conference on
Data Warehousing and Knowledge Discovery (DaWaK
2005), Springer-Verlag, LNCS, volume 3589, Copenhagen, Denmark,
pages 346355, August 22-26, 2005.
[34] J. Han, J. Pei, an d Y. Yin. Mining frequent patterns
without candidate generation. In Proceedings of the ACM-SIGMOD Intl. Conference
on Management of Data (SIGMOD'00), Dallas, Texas, USA, pages 112, May 2000.
[35] J. Han, J. Pei, Y. Yin, an d R. Mao. Mining frequent
patterns without candidate generation : A frequent-pattern tree approach. In
Data Mining and Knowledge Discovery, volume 8, pages 53-87, 2004.
[36] J. Hipp, U. Giintzer, an d G. Nakhaeiza deh. Algorithms
for association rule mining - a general survey an d comparison. In ACM-SIGKDD
Explorations, New York, USA, volume 2, pages 5864, July 2000.
[37] W. A. Koesters an d W. Pijls. APRIORI, a depth first
implementation. In B. Goethals and M. J. Zaki, editors, Proceedings of the IEEE
ICDM Workshop on Frequent Itemset Mining Implementations (FIMI'03), volume 90
of CEUR Workshop Proceedings, Melbourne, Florida, USA, November 19, 2003.
[38] M. Kryszkiewicz. Representative association rules an d
minimum condition maximum conse-
quence association rules. In Proceedings of Second European
Symposium on Principles
of Data Mining and Knowledge Discovery (PKDD), 1998, LNCS,
volume 1510, Springer-
Verlag, Nantes, France, pages 361369, 1998.
[39] M. Kryszkiewicz. Concise representation of frequent
patterns base don disjunction-free generators. In Proceedings of the 1st IEEE
International Conference on Data Mining (ICDM), San Jose, California, USA,
pages 305312, 2001.
[40] M. Kryszkiewicz. Concise representation of frequent
patterns an d association rules. Habilitation thesis, Institute of Computer
Science, Warsaw University of Technology, Poland, August 2002.
[41] M. Kryszkiewicz. Concise representations of association
rules. In D. J. Hand, N.M. Adams, an d R.J. Bolton, editors, Proceedings of
Exploratory Workshop on Pattern Detection and Discovery in Data Mining (ESF),
Springer-Verlag, LNAI, volume 2447, London, UK, pages 92109, 2002.
[42] R. Lefebure an d G. Venturi. Le Data Mining. Eyrolles,
1999.
[43] C. Lucchese, S. Orlando, an d R. Perego. Mining frequent
close d itemsets without duplicates generation. Technical Report 13,
I.S.T.I.-C.N.R., Italy, 2004.
[44] C. Lucchesse, S. Orlando, an d R. Perego. DCI-CLOSED : a
fast an d memory efficient algorithm to mine frequent close d itemsets. In B.
Goethals, M. J. Zaki, an d R. Bayar do,
editors, Proceedings of the IEEE ICDM Workshop on Frequent
Itemset Mining Implementations (FIMI'04), volume 126 of CEUR Workshop
Proceedings, Brighton, UK, November 1st 2004.
[45] M. Luxenburger. Implications partielles dans un contexte.
Mathematiques et Sciences Humaines, 29(113) :35-55, 1991.
[46] A. M. Mueller. Fast sequential an d parallel algorithms
for association rules mining : a comparison. Technical Report CS-TR-3515,
Faculty of the Graduate School of the University of Maryland-College Park, USA,
October 1995.
[47] N. Pasquier. Datamining : Algorithmes
d,extraction et de reduction des regles d,association
dans les bases de donnees. These de doctorat, Ecole Doctorale Sciences pour
l,Ingenieur de Clermont Ferran d, Universite Clermont Ferran d II,
France, Janvier 2000.
[48] N. Pasquier, Y. Basti de, R. Taouil, an d L. Lakhal.
Pruning close d itemset lattices for association rules. In M. Bouzeghoub,
editor, Proceedings of 14th Intl. Conference Bases de Donnees Avancees,
Hammamet, Tunisia, pages 177196, October 2630, 1998.
[49] N. Pasquier, Y. Basti de, R. Taouil, an d L. Lakhal.
Efficient mining of association rules using close d itemset lattices. Journal
of Information Systems, 24(1) :25-46, 1999.
[50] N. Pasquier, Y. Basti de, R. Touil, an d L. Lakhal.
Discovering frequent close d itemsets for association rules. In C. Beeri an d
P. Buneman, editors, Proceedings of 7th International Conference on Database
Theory (ICDT'99), LNCS, volume 1540, Springer-Verlag, Jerusalem, Israel, pages
398416, January 1999.
[51] J. Pei, J. Han, an d R. Mao. CLOSET : An efficient
algorithm for mining frequent closed itemsets. In Proceedings of the ACM-SIGMOD
DMKD'00, Dallas, Texas, USA, pages 2130, 2000.
[52] J. L. Pfaltz an d C. M. Taylor. Scientific knowledge
discovery through iterative transformation of concept lattices. In Proceedings
of Workshop on Discrete Applied Mathematics in conjunction with the 2nd SIAM
International Conference on Data Mining, Arlington, Virginia, USA, pages 6574,
2002.
[53] A. Pietracaprina an d D. Zon dolin. Mining frequent
itemset using Patricia Tries. In B. Goethals an d M. J. Zaki, editors,
Proceedings of the IEEE ICDM Workshop on Frequent Itemset Mining
Implementations (FIMI'03), volume 90 of CEUR Workshop Proceedings, Melbourne,
Florida, USA, November 19, 2003.
[54] A. Salleb. Recherche de motifs frequents pour
l,extraction de regles d,association et de
caracterisation. These de doctorat, Laboratoire d,Informatique Fon
damentale d,Orleans LIFO, Université
d,Orléans, France, Décembre 2003.
[55] G. Stumme, R. Taouil, Y. Basti de, N. Pasquier, an d L.
Lakhal. Fast computation of concept lattices using data mining techniques. In
M. Bouzeghoub, M. Klusch, W. Nutt, an d U. Sattler, editors, Proceedings of 7th
Intl. Workshop on Knowledge Representation Meets Databases (KRDB'00), Berlin,
Germany, pages 129-139, 2000.
[56] G. Stumme, R. Taouil, Y. Basti de, N. Pasquier, an d L.
Lakhal. Intelligent structuring and reducing of association rules with formal
concept analysis. In F. Baader., G. Brewker, and T. Eiter, editors, Proceedings
of KI'2001 conference, LNAI, volume 2174, Springer-Verlag, Heidelberg, Germany,
2001.
[57] G. Stumme, R. Taouil, Y. Basti de, N. Pasquier, an d L.
Lakhal. Computing iceberg concept lattices with TITANIC. Journal on Knowledge
and Data Engineering (KDE), 2(42) :189222, 2002.
[58] R. Taouil. Algorithmique du treillis des fermes :
application a l,analyse formelle de concepts et aux bases de
donnees. These de doctorat, Ecole Doctorale Sciences pour
l,Ingenieur de Clermont?Ferran d, Universite Blaise Pascal, France,
Janvier 2000.
[59] H. Toivonen. Sampling large databases for association
rules. In Proceedings of the 22th Intl. Conference on Very Large Databases,
Bombay, India, pages 134145, September 1996.
[60] T. Uno, T. Asai, Y. Uchida, an d H. Arimura. LCM : An
efficient algorithm for enumerating
frequent close d item sets. In B. Goethals an d M. J. Zaki,
editors, Proceedings of the IEEE
ICDM Workshop on Frequent Itemset Mining Implementations
(FIMI'03), volume 90 of
CEUR Workshop Proceedings, Melbourne, Florida, USA, November 19,
2003.
[61] T. Uno, T. Asai, Y. Uchida, an d H. Arimura. An
efficient algorithm for enumerating closed patterns in transaction databases.
Journal of Discovery Science, LNAI, volume 3245, pages 16-31, 2004.
[62] T. Uno, M. Kiyomi, an d H. Arimura. LCM ver. 2 :
Efficient mining algorithms for
frequent/closed/maximal itemsets. In B. Goethals, M. J. Zaki, an
d R. Bayar do, editors,
Proceedings of the IEEE ICDM Workshop on Frequent Itemset Mining
Implementations
(FIMI'04), volume 126 of CEUR Workshop Proceedings, Brighton,
UK, November 1st, 2004.
[63] P. Valtchev, R. Missaoui, R. Go din, an d M. Meri dji.
Generating frequent itemsets incrementally : two novel approaches base don
Galois lattice theory. Journal Expt. Theoretical Artificial Intelligence, 14(1)
:115142, 2002.
[64] P. Valtchev, R. Missaoui, an d P. Lebrun. A fast
algorithm for building the Hasse diagram of a Galois lattice. In Proceedings of
the Colloque LaCIM 2000, Montreal, Canada, pages 293306, September 2000.
[65] J. Wang, J. Han, an d J. Pei. CLOSET+ : Searching for
the best strategies for mining frequent close d itemsets. In Proceedings of the
Ninth ACM-SIGKDD International Conference on
Knowledge Discovery and Data Mining (KDD'03), Washington D. C.,
USA, pages 236245, August 24-27, 2003.
[66] R. Wille. Restructuring lattices theory : An approach base
don hierarchies of concepts. I. Rival, editor, Ordered Sets, Dordrecht-Boston,
pages 445470, 1982.
[67] M. J. Zaki. Mining non-redundant association rules. In Data
Mining and Knowledge Discovery, volume 9, pages 223-248, 2004.
[68] M. J. Zaki an d K. Gouda. Fast vertical mining using
Diffsets. Technical report, Computer Science Dept., Rensselaer Polytechnic
Institute, USA, March 2001.
[69] M. J. Zaki an d C. J. Hsiao. CHARM : An efficient
algorithm for close d itemset mining. In Proceedings of the 2nd SIAM
International Conference on Data Mining, Arlington, Virginia, USA, pages 34-43,
April 2002.
[70] M. J. Zaki, S. Parthasarathy, M. Ogihara, an d W. Li.
New algorithms for fast discovery of association rules. In D. Heckerman, H.
Mannila, an d D. Pregibon, editors, Proceedings of the 3rd International
Conference on Knowledge Discovery and Data Mining (KDD '97), Newport Beach,
California, USA, pages 283290, August 1997.
|