Vous êtes sur la page 1sur 20

tudes des principaux

algorithmes de data mining


Guillaume C ALAS
14-16 rue Voltaire,
94270 Le Kremlin-Bictre,
France

guillaume.calas@gmail.com

Spcialisation Sciences Cognitives et Informatique Avance

Mots cls: data mining, arbres de dcision, clustering, rgles associatives, sequence mining, classification.

Table des matires


1

Introduction
1.1 Apprentissage supervis . . . .
1.1.1 Les arbres de dcision .
1.1.2 Les rseaux de neurones
1.2 Apprentissage non supervis . .
1.2.1 Clustering . . . . . . . .
1.2.2 Les rgles associatives .
1.2.3 Sequence mining . . . .
1.3 Apprentissage incrmental . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

1
1
1
1
2
2
2
2
2

Prsentation des algorithmes


2.1 Induction darbres de dcision .
2.1.1 CART . . . . . . . . . .
2.1.2 ID3 . . . . . . . . . . .
2.1.3 C4.5 . . . . . . . . . . .
2.1.4 OC1 . . . . . . . . . . .
2.1.5 SLIQ . . . . . . . . . .
2.1.6 SPRINT . . . . . . . . .
2.2 Les rseaux de neurones . . . .
2.2.1 AdaBoost . . . . . . . .
2.2.2 Learn++ . . . . . . . . .
2.3 Induction de rgles associatives .
2.3.1 Apriori . . . . . . . . .
2.3.2 FP-Growth . . . . . . .
2.3.3 Eclat . . . . . . . . . .
2.3.4 SSDM . . . . . . . . . .
2.3.5 kDCI . . . . . . . . . .
2.4 Sequence mining . . . . . . . .
2.4.1 GSP . . . . . . . . . . .
2.4.2 SPADE . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2
2
2
3
3
4
4
5
5
5
5
6
6
7
7
7
8
8
8
9

Algorithmes

10

Rfrences

19

tudes des principaux algorithmes de data mining

Introduction

Le Data mining est un domaine pluridisciplinaire


permettant, partir dune trs importante quantit de
donnes brutes, den extraire de faon automatique
ou semi-automatique des informations caches, pertinentes et inconnues auparavant en vue dune utilisation industrielle ou oprationnelle de ce savoir. Il
peut galement mettre en avant les associations et
les tendances et donc servir doutil de prvisions au
service de lorgane dcisionnel.

[S CIA ] E PITA 2009

prdictions partir des donnes connues sur le problme par rduction, niveau par niveau, du domaine
des solutions.
Chaque nud interne dun arbre de dcision porte
sur un attribut discriminant des lments classifier
qui permet de rpartir ces lments de faon homogne
entre les diffrents fils de ce nud. Les branches liant
un nud ses fils reprsentent les valeurs discriminantes de lattribut du nud. Et enfin, les feuilles dun
arbre de dcision sont ses prdictions concernant les
donnes classifier.

On distingue le data mining supervis qui sert


Cest une mthode qui a lavantage dtre lisible
essentiellement la classification des donnes et le pour les analystes et permet de dterminer les couples
data mining non supervis qui est utilis dans la <attribut, valeur> discriminants partir dun trs
recherche dassociations ou de groupes dindividus.
grand nombre dattributs et de valeurs.
Le champ daction du data mining stend du
Les algorithmes dapprentissage automatique que
chargement et du nettoyage des donnes (ETL1 ) dans nous tudierons la section 2.1 permettent linduction
les bases de donnes, la mise en forme des rsultats, de ces arbres de dcision.
en passant par le plus important : la classification et la
mise en relation de diffrentes donnes.
1.1.2 Les rseaux de neurones

1.1

Apprentissage supervis

En sciences cognitives, lapprentissage supervis est une technique dapprentissage automatique


plus connu sous le terme anglais de machinelearning qui permet une machine dapprendre
raliser des tches partir dune base dapprentissage
contenant des exemples dj traits. Chaque lment
(item) de lensemble dapprentissage (training set)
tant un couple entre-sortie.

Un rseau de neurones est un modle de calcul dont le fonctionnement schmatique est inspir
du fonctionnement des neurones biologique. Chaque
neurone fait une somme pondre de ses entres (ou
synapses) et retourne une valeur en fonction de sa
fonction dactivation2 . Cette valeur peut tre utilise
soit comme une des entres dune nouvelle couche
de neurones, soit comme un rsultat quil appartient
lutilisateur dinterprter (classe, rsultat dun calcul,
etc.).

De part sa nature, lapprentissage supervis concerne


essentiellement les mthodes de classification de donnes (on connat lentre et lon veut dterminer la
sortie) et de rgression (on connat la sortie et lon veut
retrouver lentre).

1.1.1

Les arbres de dcision

Un arbre de dcision est, comme son nom le


F IG . 1 Structure dun neurone artificiel.
suggre, un outil daide la dcision qui permet de Par
Chrislb sous licence Creative Common Attribution ShareAlike 2.5.
rpartir une population dindividus en groupes homognes selon des attributs discriminants en fonction
La phase dapprentissage dun rseau de neurones
dun objectif fixs et connu. Il permet dmettre des
1 Extract,

Transform and Load

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

2 Une fonction dactivation permet de dterminer ltat


dactivation dun neurone formel.

[S CIA ] E PITA 2009

tudes des principaux algorithmes de data mining

permet de rgler le poids associ chaque synapse


dentre (on parle galement de coefficient synaptique). Cest un processus long qui doit tre ritr
chaque modification structurelle de la base de donnes
traite.

1.2

les profits en favorisant, par exemple, les ventes complmentaires. Ces algorithmes permettent de rsoudre
des problmes dits de Frequent Set Counting (FSC).

1.2.3

Sequence mining

Apprentissage non supervis

Le sequence mining concerne la dtection de


motifs dans les flux de donnes dont les valeurs sont
On parle dapprentissage non supervis lorsque dlivres par squences.
lon cherche extraire des informations nouvelles
Cette technique est particulirement utilis en bioet originales dun ensemble de donnes dont aucun logie pour lanalyse de gnes et des protines mais
attribut nest plus important quun autre.
galement afin de faire du text mining, les phrases tant

Le rsultat des algorithmes de data mining non considres comme des squences ordonnes de mots.
supervis doit tre analys afin dtre retenu pour un
usage ou tout simplement rejet.
1.3 Apprentissage incrmental

1.2.1

Clustering

Le clustering est une mthode statistique danalyse de donnes qui a pour but de regrouper un ensemble de donnes en diffrents groupes homognes.
Chaque sous-ensemble regroupe des lments ayant
des caractristiques communes qui correspondent
des critres de proximit.
Le but des algorithmes de clustering est donc de
minimiser la distance intra-classe (grappes dlments
homognes) et de maximiser la distance inter-classe
afin dobtenir des sous-ensembles le plus distincts
possible.
La mesure des distances est un lment prpondrant pour la qualit de lalgorithme de clustering.

Lapprentissage incrmental permet une machine dapprendre par ajout successif dinformations.
Pour tre considr comme tel, un systme dapprentissage doit :
tre capable dapprentre de nouvelles informations partir de nouvelles donnes ;
tre capable de se passer des donnes dorigine
pour entraner le nouveau classifieur ;
prserver le savoir prcdemment acquis ;
tre capable de reconnatre de nouvelles classes
indroduites dans les nouvelles donnes.

2
2.1

Prsentation des algorithmes


Induction darbres de dcision

Cette classe dalgorithmes ne sera pas traite 2.1.1 CART


dans le prsent document.
Rfrence : [4]
Date de publication : 1984
1.2.2 Les rgles associatives
Auteur : Breiman
Incrmental : non
Les rgles associatives sont des rgles qui sont ex- Description : CART (Classification And Regression
traites dune base de donnes transactionnelles (item- Tree) construit un arbre de dcision strictement binaire
set) et qui dcrivent des associations entre certains avec exactement deux branches pour chaque nud
lments. Cette technique permet de faire ressortir les de dcision. Lalgorithme partitionne lensemble denassociations entre les produits de base (les produits tranement de faon rcursive selon la mthode diviser
essentiels, ceux pour lesquels le client se dplace) et pour mieux rgner3 .
les produits complmentaires, ce qui permet de mettre
3 Du latin Divide ut imperes, mthode de conception
en place des stratgies commerciales visant accrotre consistant diviser un problme de grande taille en
plusieurs sous-problmes analogues, ltape de subdivision

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

[S CIA ] E PITA 2009

tudes des principaux algorithmes de data mining

Pour chaque nud de dcision, CART fait une honorables, il est sujet au sur-apprentissage. Le postrecherche exhaustive sur tous les attributs et valeurs lagage de larbre de dcision gnr est donc fortede sparation disponibles et slectionne la sparation s ment conseille.
qui maximise le critre suivant au nud t :

2.1.2

Card(Classes)

(s|t) = 2PL PR

|P( j|tL ) P( j|tR )|

j=1

o
S = ensemble dentranement
tL = fils gauche du nud t
tR = fils droit du nud t
Card(tL )
PL =
Card(S)
Card(tR )
PR =
Card(S)
Card(classe j tL )
P( j|tL ) =
Card(t)
Card(classe j tR )
P( j|tR ) =
Card(t)

ID3

(1) Rfrence : [11]


Date de publication : 1986
Auteur : Quinlan
Incrmental : par extension (cf. ID4[13], ID5 et
ID5R[16])
Algorithme : figure 1 page 10
Description : ID3 construit un arbre de dcision de
faon rcursive en choisissant lattribut qui maxime
le gain (3) dinformation selon lentropie de Shannon
(2). Cet algorithme fonctionne exclusivement avec des
attributs catgoriques et un nud est cr pour chaque
valeur des attributs slectionns.
ID3 est un algorithme basique facile implmenter dont la premire fonction est de remplacer les
experts dans la construction dun arbre de dcision.
Cependant, les arbres de dcisions ne sont ni robustes,
ni compacts ce qui les rends inadapts aux grosses
bases de donnes.

Dans le cas o lattribut test porte sur des valeurs


continues, CART peut identifier un ensemble fini de Entropie de Shannon :
valeurs possibles. Cependant, il est prfrable que
|S|
lutilisateur discrtise les variables continues afin de
E(S) = p( j) log2 p( j)
(2)
mieux contrler la gnration de larbre et de le rendre
j=1
plus robuste.
o p( j) est la probabilit davoir un lment de caracLalgorithme sarrte lorsque lun des cas darrt
tristique j dans lensemble S.
suivant est rencontr :
v
le nud est pur, ie. tous les lments du nud
|Sv |
Gain(S,
A)
=
E(S)

(
E(Sv ))
(3)

appartiennent la mme classe ;


|S|
tous les attributs ont t utiliss prcdemment ;
la profondeur de larbre atteint la valeur maxi- o S est un ensemble dentranement, A est lattribut
cible, Sv le sous-ensemble des lments dont la valeur
male dfinie par lutilisateur ;
la taille du nud est infrieure la taille mini- de lattribut A est v, |Sv | = nombre dlments de Sv et
|S| = nombre dlments de S.
male dfinie par lutilisateur ;
la taille dun des fils qui rsulterait de la sparation optimale est infrieure la taille minimale 2.1.3 C4.5
dfinie par lutilisateur.
Rfrence : [12]
CART nest pas adapt pour travailler sur de Date de publication : 1993
trs grandes quantits denregistrements ( cause de Auteur : Quinlan
lexhaustivit de ses recherches de valeurs de spa- Incrmental : non
ration optimales) et bien quayant des performances Description : C4.5 est une amlioration dID3 qui
permet de travailler la fois avec des donnes discrtes

tant applique rcursivement

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

[S CIA ] E PITA 2009

tudes des principaux algorithmes de data mining

et des donnes continues. Il permet galement de le Gain (3), Gini Index (7), et Twoing Rule (6) obtravailler avec des valeurs dattribut absentes.
tiennent les meilleures performances.
Enfin, C4.5 lague larbre construit afin de supprimer les rgles inutiles et de rendre larbre plus compact. Lalgorithme C5, qui est une solution commerciale, est une amlioration supplmentaire de C4.5.

2.1.4

OC1

Rfrence : [8]
Date de publication : 1993
Auteurs : Murphy, Kasif, Salzberg, Beigel
Incrmental : non
Algorithme : figures 5 et 6 page 12
Description : OC1 (Oblique Classifier 1) est une extension de CART-LC (CART avec des Combinaisons
Linaires). Mais contrairement CART, dune part,
OC1 utilise le hasard pour trouver le meilleur hyperplan de sparation de lensemble dentranement, et
dautre part, lhyperplan de sparation peut ne pas
tre parallle aux axes. De ce fait, lalgorithme peut
gnrer une multitude darbres de dcision ce qui
peut permettre de raliser un k-decision-tree classifieur
dont le rsultat de la classification rsulte de la majorit des votes des k arbres de dcision.


TValue =

 

|TL |
|TR |

n
n

!2


Li
R
i
|TL | |TR |
k

i=1

(6)
Enfin, en ce qui concerne llagage de larbre de
dcision obtenu, nimporte quel algorithme prvu cet
effet est utilisable et obtient de bons rsultats.

2.1.5

SLIQ

Rfrence : [1]
Date de publication : 1996
Auteurs : Metha, Agrawal, Rissanen
Incrmental : oui, par extension
Algorithme : figures 2,3 et 4 page 10
Description : SLIQ (Supervised Learning In Quest)
est un algorithme performant capable de traiter des attributs numriques et catgoriques. Lalgorithme construit
un arbre binaire de dcision de faon rcursive en utilisant le coefficient de Gini (7) comme critre pour la
slection du meilleur attribut et de la valeur associe.

Afin de ne pas perdre de performance par rapport Coefficient de Gini :


un classifieur classique arbre de dcision, OC1
m
utilise une sparation oblique uniquement quand cela
gini(S) = 1 p2c
(7)
j=1
amliore les performances par rapport la meilleure
sparation parallle un axe.
o pc est la frquence relative de la classe c
dans
lensemble S contenant m classes. Si S est pure,
Pour trouver le meilleur hyperplan lalgorithme
gini(S)
= 0.
travaille attribut par attribut. Il considre (d-1) attributs
comme des constantes et va mettre n (le nombre
Le coefficient de Gini pour une partition de S en
dexemples) contraintes sur lattribut restant et ddeux ensembles ST et SF selon le critre de sparation
terminer la valeur qui en respecte le plus. Pour cela
t est dfini par la relation :
lalgorithme utilise les quations suivantes :
am x jm V j
= Uj
x jm

(4)

gini(S,t)split =

|ST |
|SF |
gini(ST ) +
gini(SF )
|S|
|S|

(8)

o x jm est la valeur de lattribut m de lexemple j,


am est le coefficient rel de lattribut m de lhyperplan
recherch et V j est dfinit par :

Afin de gagner en performances, lalgorithme tri


les
attributs
sur leurs valeurs (quand cest possible) et
d
V j = (ai x ji ) + ad+1
(5) utilise une liste trie par attribut associe un histoi=1
gramme pour chaque nud ce qui lui permet de calculer trs rapidement le coefficient de Gini, cependant,
Pour mesurer limpuret de la sparation, OC1 ces listes doivent tre stocks dans la mmoire vive et
peut utiliser nimporte quelle mesure dimpuret mais leur taille dpend directement du nombre dlments
E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

[S CIA ] E PITA 2009

tudes des principaux algorithmes de data mining

dans la base de donnes ce qui peut constituer une vante :


limitation physique.
Pour les attributs catgoriques large cardinalit on utilise un algorithme glouton pour trouver la
meilleure sparation.

(
et
Dt (i)
Dt+1 (i) =

Zt
e t

si
si

ht (xi ) = yi
ht 6= yi

(9)

la fin des T itrations, les T hypothses faibles


Enfin, SLIQ utilise un algorithme bas sur le
pondres en fonction de leurs performances
principe de la Longueur Minimale de Description (Misont combines afin de donner naissance une hyponimum Description Length, MDL) pour faire llagage
thse finale
final.
H(x) : X Y

2.1.6

SPRINT

Rfrence : [14]
Date de publication : 1996
Auteurs : Shafer, Mehta, Agrawal
Incrmental : non
Description : SPRINT est un algorithme bas que
SLIQ qui a t conu afin de remdier au principal
problme de SLIQ : son utilisation excessive de la
mmoire. Il peut galement tre facilement srialis
afin daugmenter ses performances.

AdaBoost est rapide et simple implmenter, il


permet davoir de bons rsultats et damliorer les
performances dautres classifieurs.

2.2.2

Learn++

Rfrence : [10]
Date de publication : 2001
Auteurs : Polikar, Udpa, S. Udpa, Honovar
Incrmental : oui
La diffrence entre les deux algorithmes rside Algorithme : figure 8 page 14
dans le fait que SPRINT ne conserve en mmoire Description : Learn++ sinspire de lalgorithme Adaque la partie utilise des listes tries alors que SLIQ Boost. Il gnre un certain nombre de classifieurs
conserve la liste entire en mmoire.
faibles partir dun ensemble de donnes dont on
connat le label. En fonction des erreurs du classifieur faible gnr, lalgorithme modifie la distribution
2.2 Les rseaux de neurones
des lments dans le sous-ensemble suivant afin de
renforcer la prsence des lments les plus difficile
2.2.1 AdaBoost
classifier. Cette procdure est ensuite rpte avec
Rfrence : [6]
un ensemble diffrent de donnes du mme dataset et
Date de publication : 1997
des nouveaux classifieurs sont gnrs. En combinant
Auteurs : Freund, Schapire
leurs sorties selon le schma de majorit de votes de
Incrmental : oui
Littlestone on obtient la rgle finale de classification.
Algorithme : figure 7 page 13
Description : AdaBoost est un mta-algorithme qui
Les classifieurs faibles sont des classifieurs qui
permet de booster les performances dun classifieur fournissent une estimation grossire de lordre de
base de rseau de neurones. Lalgorithme regroupe 50% ou plus de bonne classification dune rgle
des hypothses faibles mises par un classiffieur faible de dcision car ils doivent tre trs rapide gnrer.
entrans sur un sous-ensemble dentranement dont la Un classifieur fort passant la majorit de son temps
distribution des lments est renforce, itration aprs dentranement affiner ses critres de dcision. La
itration, afin que lapprentissage puisse tre concentr recherche dun classifieur faible nest pas un problme
sur les exemples qui posent le plus de difficults au trivial et la complexit de la tche crot avec le nombre
classifieur ainsi entran.
de classes diffrentes, cependant, lutilisation dalgorithmes NN correctement rgls permet efficacement
La distribution est modifie selon lquation sui- de contourner le problme.

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

[S CIA ] E PITA 2009

tudes des principaux algorithmes de data mining

Lerreur est calcule selon lquation :


m

errort =

i:ht (xi )6=yi

St (i) = St (i)[|ht (xi ) 6= yi |] (10)


i=1

avec ht : X Y une hypothse et St = T Rt T Et o


T Rt est le sous-ensemble dentranement et T Et le
sous-ensemble de test.
Les coefficients synaptiques sont mis jour selon
lquation suivante :
(
Bt si Ht (xi ) = yi
(11)
wt+1 (i) = wt (i)
1 sinon

o A est item (un produit) et T une base de donnes


transactionnelle dont est issu A.
La confidence dune rgle est dfinie par :
Con f idence(A B) =

Support(A B)
Support(A)

(13)

Les rgles associatives gnres sont retenues si


elles ont un support suprieur minSupp et une confidence suprieure minCon f . Ces deux constantes
dpendantes de la base de donnes sont dfinies par
lutilisateur du systme de faon empirique.

o t est le numro ditration, Bt lerreur composite 2.3.1 Apriori


normalise et Ht lhypothse composite.
Rfrence : [2]
Contrairement AdaBoost qui est orient vers Date de publication : 1993
lamlioration des performances tout en permettant Auteurs : Agrawall, Imielinski, Swami
de part sa structure lapprentissage incrmental, Algorithme : figure 9 page 15
Learn++ est essentiellement orient sur lapprentis- Description : Apriori est un algorithme classique de
recherche de rgles dassociation. Comme tous les
sage incrmental.
algorithmes de dcouvertes dassociations, il travaille
sur des bases de donnes transactionnelles (des enre2.3 Induction de rgles associatives
gistrements de transactions).
Pour rvler la pertinence dune rgle on utilise
deux concepts qui sont le support (12) et la confidence
(13). Afin dtre retenue, chaque rgle devra avoir
un support suprieur minSupp et une confidence
suprieure minCon f . Ces deux valeurs tant dfinies
empiriquement par lutilisateur du systme.
Lalgorithme dmarre avec la liste des produits les
plus frquents dans la base de donnes respectant les
seuils de support. Un ensemble de rgles (des candidats) est gnr partir de cette liste. Les candidats
sont tests sur la base de donnes (ie. on recherche les
instances des rgles gnres et leurs occurrences) et
F IG . 2 Algorithmes de Frequent Set Counting les candidats ne respectant pas minSupp et minCon f
sont retires. Lalgorithme ritre ce processus en
(FSC).
augmentant chaque fois la dimension des candidats
dune unit tant que des rgles pertinentes sont dcouLes algorithmes suivants utilisent les notions de vertes. A la fin, les ensembles de rgles dcouvertes
support et de confidence pour dterminer la pertinence sont fusionns.
des associations.
La gnration des candidats se fait en deux tapes :
Le support dune rgle est dfini par :
1) la jointure ; 2) llagage. La jointure consiste en une
jointure dun ensemble de rgles k-1 lments sur
count(A)
(12) lui mme qui aboutit la gnration dun ensemble
Support(A) =
|T |
de candidats k lments. Enfin, llagage supprime
E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

[S CIA ] E PITA 2009

tudes des principaux algorithmes de data mining

les candidats dont au moins une des sous-chane k-1 Algorithme : figures 10 et 11 page 15
lments nest pas prsente dans lensemble des rgles Description : Eclat est le fondateur de la seconde
grande famille dalgorithmes de recherche de rgles
k-1 lments.
dassociations avec lalgorithme Apriori. Lalgorithme
Cet algorithme est trs performant, mais souffre si dmarre avec la liste des lments frquents puis
les ensembles dlments frquents sont trop grands. lalgorithme est ritr en rajoutant les ensembles
De plus, scanner la base donnes la recherche dun frquents lensemble des candidats C jusqu ce que
motif de faon rpt devient rapidement un frein aux cet ensemble soit vide.
performances sur de grosses bases de donnes.
Lensemble des transactions de D qui contiennent
llment
X est dfinit par :
2.3.2 FP-Growth
Rfrence : [7]
D(X) = {T D|X T }
(14)
Date de publication : 2000
Auteurs : Han, Pei, Yin, Mao
Description : FP-Growth (Frequent-Pattern Growth)
Les relations sont filtres selon lquation suiest un algorithme compltement innovant par rapport
vante :
aux autres algorithmes de recherche de rgles associatives presque tous bass sur Apriori.
f req(C0 ) = {(x, Dx )|(x, Dx ) C0 , |Dx | minsup}
(15)
Lalgorithme utilise une structure de donnes compacte appel Frequent-Pattern tree et qui apporte une
solution au problme de la fouille de motifs frquents
dans une grande base de donnes transactionnelle.
En stockant lensemble des lments frquents de la
base de transactions dans une structure compacte, on
supprimer la ncessiter de devoir scanner de faon
rpte la base de transactions. De plus, en triant les
lments dans la structure compacte, on acclre la
recherche des motifs.

2.3.4

SSDM

Rfrence : [5]
Date de publication : 2005
Auteurs : Escovar, Biajiz, Vieira
Algorithme : figures 9 et 12 pages 15 et 16
Description : SSDM (Semantically Similar Data Miner) est un algorithme de la famille de lalgorithme
Apriori auquel est rajout des notions densembles
Un FP-tree est compos dune racine nulle et dun flous afin de renforcer la recherche dassociations sur
ensemble de nuds prfix par llment reprsent. des bases plus robustes.
Un nud est compos par : le nom de llment,
Comme le nom de lalgorithme lindique, SSDM
le nombre doccurrence de transaction o figure la
sappuie sur les similarit smantique des lments
portion de chemin jusqu ce nud, un lien inter-nud
pour effectuer ses recherches. Lalgorithme utilise des
vers les autres occurrences du mme lment figurant
matrices de similarit remplie par lutilisateur du
dans dautres squences de transactions. Une table
systme pour chaque domaine de produits afin
den-tte pointe sur la premire occurrence de chaque
deffectuer ses recherches. Cest le principal inconlment.
vnient de cette mthode base sur des critres huLavantage de cette reprsentation des donnes mains, des tudes sont aujourdhui menes afin de
est quil suffit de suivre les liens inter-nuds pour trouver des mthodes pour remplir ces matrices de
connatre toutes les associations frquentes o figure faon automatique. Lalgorithme ncessite de fixer une
valeur minimale de similarit minSim qui dtermine
llment frquent.
si lalgorithme doit confondre deux lments dun
mme domaine en une seule entit.

2.3.3

Eclat

Rfrence : [17]
Date de publication : 2000
Auteur : Zaki

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

Lalgorithme recherche les cycles de similarit


entre les lments et ces cycles sont utiliss lors de
la gnration des candidats (identique Apriori. On
se retrouve alors avec un ensemble de candidats purs
7

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

Pour les bases de donnes denses o le nombre


contenant ventuellement des candidats flous. Le cas
chant, le support du candidat flou est valu selon le dintersection est important, lheuristique de DCI est
utilis. Il consiste en une rorganisation de la base
poids de ses similarits par la formule suivante :
de donnes verticale en rordonnant les colonnes en
[poids(a) + poids(b)][1 + sim(a, b)]
poidsC =
(16) plaant les segments identiques associs aux lments
2
les plus frquents aux premires positions, ce qui
o poidsC est le poids du candidat C contenant les permet de rduire le nombre dintersections en vitant
lments a et b et o poids(a) correspond au nombre la rptition de segments identiques.
doccurrence de a dans la base de donnes transactionnelles.
2.4 Sequence mining
La formule gnrale pour n lments est donne
Afin de facilit lexplication des algorithmes tupar lquation suivante :
dis
ci-dessus, nous utiliserons le formalisme suivant :
"
#

+
soit I = {i1 , i2 , . . . , im } un ensemble de m lments
1+ f
poids = poids (Itemi )
(17) distincts. Un vnement est une collection non vide
2
i=1
non ordonne de m lments note (i1 , i2 , . . . , im ). Une
o f est le plus petit degr de similarit contenu dans squence est une liste ordonne dvnements i
note (1 2 . . . q ). Une squence avec k
les associations considres.
lments (k = j | j |) est appele une ksquence.
La gnration des rgles est galement identique Enfin, (de cardinal n) est une sous-squence de ssi
celle de lApriori.
, ie. il existe des entiers i1 < i2 < . . . < in tels que
1 i1 , 2 i2 , . . . , n in ,. Une sous-squence c
2.3.5 kDCI
de s est dite contigu si elle rsulte dune suppression
la fois du premier et du dernier lment de s, ou de la
Rfrence : [9]
suppression dune des lments de s contenu dans un
Date de publication : 2003
vnement ayant au moins 2 lments, ou si c est une
Auteurs : Orlando, Lucchese, Palmerini, Silvestri
sous-squence contigu de c0 laquelle est une sousAlgorithme : figures 10 et 11 page 15
squence contigu de s.
Description : kDCI (k Direct Count & Intersect) est
un algorithme hybride multi-stratgies bas sur lalgorithme DCI. Lalgorithme recueille des informations 2.4.1 GSP
sur la base de donnes durant lexcution afin de Rfrence : [15]
dterminer la meilleure stratgie adopter selon que Date de publication : 1996
les donnes sont denses ou parses.
Auteurs : Srikant, Agrawal
kDCI est optimis pour les grandes bases de donnes et utilise des structures de donnes compactes
ainsi quune reprsentation des donnes minimale en
mmoire. Lorsque la base de donnes lague peut
tenir en mmoire, DCI construit une tidlist dintersections la vole. Ce vecteur binaire deux dimensions
comprend les identifiants des lments en ordonne
et ceux des transactions en abscisse, la prsence dun
lment dans une transaction tant marqu dun 1 et
labsence dun 0.

Algorithme : figure 14 page 17


Description : GSP (Generalized Sequential Patterns)
est un algorithme multipasse. La premire passe dtermine le support (ie. le nombre de squence contenant
cet lment) de chaque lment et permet de ne travailler que sur les lments ayant le support minimum
et gnrer les squences candidates. Le support de ces
candidats tant dtermin lors des passages suivants.

La gnration des candidats se fait en 2 phases :


la jointure et llagage. La jointure se fait en joignant
La technique utilise pour les bases de donnes lensemble des (k-1)-squences frquentes Lk1 avec
parses se rsume une projection suivie dun lagage lui-mme, ce qui consiste en considrant les s(uniquement si le gain de ce dernier est suprieur son quences s1 , s2 Lk1 rajouter le dernier lment
de s2 s1 . Si llment constituait un vnement
cot).
E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

lui tout seul dans s2 alors il constituera un vnement ensembles de squences frquentes seraient amener
dans s1 . De la mme manire sil faisait parti dun tre beaucoup trop importants.
vnement dans s2 alors il sera rajouter au dernier vLors de la gnration des squences candidates, les
nement de s1 . La jointure est valable uniquement si en
enlevant le premier lment de s1 on obtient la mme jointures se font de la faon suivante :
1. lment contre lment : PB jointe avec PD
sous-squences quen retirant le dernier lment de s2 .
en PBD.
Enfin, llagage consiste retirer les candidats ayant
des sous-squences ou des sous-squences contigus
2. lment contre squence : PB jointe avec P
dont le support serait infrieur au minSupp.
A en PB A.
Une fois lensemble des ksquences candidates
gnr, chaque candidat est dnombr dans la base de
donnes. Afin doptimiser le dnombrement, une table
de hachage est utilise ainsi que la mise en place dune
dure maximale entre lments dune squence ce qui
permet de limiter les recherches. Pour plus de dtails
sur limplmentation de ces techniques, merci de vous
rfrer [15].
Enfin, lalgorithme GSP permet galement dutiliser les informations contenues dans une hirarchisation des donnes de type est-un. Dans ce cas, on
gnralise la recherche aux descendants des lments
recherchs.

2.4.2

3. Squence contre squence : P A jointe avec


P F en P AF, P A F et P F A.
Le principal avantage de SPADE par rapport
GSP est lutilisation de listes verticales temporaires
pour les jointures. Ces listes, bornes, sont beaucoup
plus petites et rapides gnrer que celles utilises par
GSP ce qui permet damliorer grandement le temps
de calcul ncessaire ainsi que de rduire les besoins
de mmoire. Enfin, lutilisation densembles de treillis
permet de restreindre le domaine de recherche autour
des lments frquents ce qui occasion un important
gain de temps.

SPADE

Rfrence : [18]
Date de publication : 2001
Auteurs : Zaki
Algorithme : figures 15, 16 et 17 page 17
Description : SPADE (Sequential PAttern Discovery
using Equivalence classes) est un algorithme qui utilise la thorie des Treillis afin de limiter son espace
de recherche, ie. il utilise pour chaque ensemble une
borne suprieure et une borne infrieure.
SPADE utilise des ID-listes verticales, id est une
liste de couple (SID4 , EID5 ) par atome. Concernant
la recherche des squences frquentes, deux stratgies
sont proposes : Breadth-First Search (BFS) et DepthFirst Search (DFS). BFS correspond la stratgie
utilise par GSP, elle procde niveau par niveau ce qui
lavantage de permettre un lagage beaucoup plus
intressant que via DPS, cependant, DPS prend beaucoup moins de place en mmoire et cette technique
qui consiste effectuer des recherches branche par
branche est la seule utilisable dans le cas o les
4 SID
5 EID

= Squence IDentifiant .
= Evnement IDentifiant.

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

Algorithmes
Algorithme 1 ID3
E NTRES : Exemples, attributCible, AttributsNonCible
si estVide(Exemples) alors
retourner un nud Erreur
sinon
si estVide(AttributsNonCible) alors
retourner un nud ayant la valeur la plus reprsent pour attributCible
sinon
si tous les lments de Exemples ont la mme valeur pour attributCible alors
retourner un nud ayant cette valeur
sinon
AttributSlectionn = attribut maximisant le gain dinformation parmi AttributsNonCible
AttributsNonCibleRestants = AttributsNonCible {AttributSlectionn}
nouveauNud = nud tiquet avec AttributSlectionn
pour chaque valeur de AttributSlectionn faire
ExemplesFiltrs= exempleAyantValeurPourAttribut(Exemples, AttributSlectionn, valeur)
nouveauNud.fils(valeur)=ID3(ExemplesFiltrs, AttributSlectionn, AttributsNonCibleRestants)
fin pour
retourner nouveauNud
fin si
fin si
fin si

Algorithme 2 SLIQ-Partition
E NTRES : Dataset S
si (tous les points de S appartiennent la mme classe) alors
Sortir de lalgorithme
fin si
valuer les partitionnements pour chaque attribut A
Utiliser le meilleur partitionnement de S aboutissant sur la cration de S1 et S2
Partition(S1 ) /* Appel rcursif gauche */
Partition(S2 ) /* Appel rcursif droite */

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

10

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

Algorithme 3 SLIQ-EvaluateSplits
pour chaque attribut A faire
pour chaque valeur v de la liste dattribut faire
l = feuille contenant llment courrant
mettre jour lhistogramme de la feuille l
si A est un attribut continu alors
tester la sparation pour le critre A v de la feuille l
fin si
fin pour
si A est un attribut discret alors
pour chaque feuille de larbre faire
trouver le sous-ensemble de A qui ralise la meilleure sparation
fin pour
fin si
fin pour

Algorithme 4 SLIQ-UpdateLabels
pour chaque attribut A utiliser comme critre de sparation faire
cration des nouveaux nuds et histogrammes associs
pour chaque valeur v de la liste de lattribut A faire
soit e la classe correspondant llment courrant
trouver la nouvelle classe c de A correspondant la nouvelle sparation
modifier la rfrence de classe de llment de e vers c
fin pour
fin pour

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

11

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

Algorithme 5 OC1
E NTRES : T /* Lensemble dentrainement */
H = bestAxis-Parallel(T ) /* Meilleur hyperplan de sparation parallle un axe */
I = impurity(H) /* Impuret de cette sparation */
pour i = 1 jusqu R faire
si i > 1 alors
H = randomisedHyperplan() /* Hyperplan alatoire */
fin si
label Etape_1
rpter
pour j = 1 jusqu d faire
Perturb(H, j) /* Perturber le coefficient j de H */
fin pour
jusqu I soit amliore
label Etape_2
pour i = 1 jusqu J faire
Choisir alatoirement une direction et tenter de perturber H dans cette direction.
si impurity(H) < I alors
aller Etape_1
fin si
fin pour
Il = impurity(H)
si Il < I alors
I = Il
fin si
fin pour
retourner la sparation correspondant I
Algorithme 6 OC1-Perturb
E NTRES : H, m
pour j = 1, .., n faire
Calcule(U j ) /* Calcule U j selon lquation (4) */
Trier U1 , ...,Un en ordre dcroissant
a0m = meilleure sparation de la liste trie des U j
Hl = rsultat de la substitution des am par a0m dans H
si impurity(Hl )<impurity(H) alors
am = a0m
Pmove = Pstag
sinon
/* Pour sortir dun minimum local */
si impurit(Hl )=impurit(H) alors
am = a0m avec probabilit Pmove
Pmove = Pmove 0.1 Pstag
fin si
fin si
fin pour
E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

12

[S CIA ] E PITA 2009

tudes des principaux algorithmes de data mining

Algorithme 7 AdaBoost
E NTRES : S = (x1 , y1 ), ..., (xm , ym ) avec xi X, yi Y = 1, +1
D1 (i) = m1 , i /* Initialisation */
pour t = 1 jusqu T faire
St = ChoisirAleatoirement(S, Dt )
WeakLearner = EntrainerClassi f ieurFaible(St , Dt )
ht = ObtenirHypotheseFaible(WeakLearner)
t = ComputeError(ht , St )
t
t = 12 ln( 1
t )
U pdateWeights(t) /* Mise jour de la distribution selon lquation (9) */
fin pour
retourner
!
T

H(x) = sign

t ht (x)

t=1

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

13

[S CIA ] E PITA 2009

tudes des principaux algorithmes de data mining

Algorithme 8 Learn++
E NTRES : Pour chaque distribution de la base de donnes Dk k = 1, 2, ..., K :
- une squence de m exemples dentranement S = [(x1 , y1 ), ..., (xm , ym )],
- un algorithme dapprentissage faible WeakLearn,
- un entier Tk pour spcifier le nombre ditrations.
pour k = 1 jusqu K faire
w1 (i) = D(i) = m1 , i /* A moins que lon ai des connaissances pour faire autrement */
pour t = 1 jusqu Tk faire
label 1 : Dt = wt / m
i=1 wt (i) /* Dt est une distribution */
label 2 : T Rt = RandomSubset(S, Dt ) /* Ensemble dentranement choisi alatoirement dans
S selon Dt */
T Et = RandomSubset(S, Dt ) /* Ensemble de test choisi alatoirement dans S selon Dt */
label 3 : ht = WeakLearn(T Rt ) /* Hypothse de X Y */
label 4 : t = ComputeError(ht , St ) /* Calcul de lerreur de ht selon lquation (10) */
si t > 1/2 alors
t = t 1
Supprimer(ht )
goto label 2
sinon

*/
t = normalise(t ) /* Erreur normalise : 1
fin si
label 5 : Ht = argmax t:ht (x)=y log(1/t ) /* Hypothse compose */
yY

Et = ComputeError(Ht , St )
si Et > 1/2 alors
t = t 1
Supprimer(Ht )
goto label 2
fin si
label 6 : Bt = normalise(Et ) /* Erreur composite normalise */
UpdateWeight(t) /* Mise jour des poids des instances selon lquation (11) */
fin pour
fin pour
retourner
K
1
H f inal = argmax log
yY
Bt
k=1 t:H (x)=y
t

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

14

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

Algorithme 9 Apriori
E NTRES : T,
L1 = {ensemble de 1-item qui apparaissent dans au moins transactions}
k=2
tant que Lk1 6= faire
Ck = Generate(Lk1 ) /* Gnre lensemble de candidats */
pour t T faire
Ct = SousEnsemble(Ck ,t) /* Slection des candidats de Ck prsents dans t */
pour c Ct faire
count[c] = count[c] + 1
fin pour
fin pour
Lk = {c Ck |count[c] }
k = k+1
fin tant que
S
retourner Lk
k

Algorithme 10 Eclat
E NTRES : Liste des arguments :
- A /* Liste des lments ordonne en ordre croissant */
- D P(A) /* La base de donnes transactionnelles issue de A */
- minSup N /* Le support minimum dfinit par lutilisateur */
F = {(, |D|)} /* Initialisation de lensemble des frquent et de leur support */
C0 = {(x, D({x})|x A} /* Ensemble des transactions contenant un lment de A */
C00 = f req(C0 ) /* C0 est filtre selon (15) */
F = {}
F = addFrequentSupersets(F,C00 ) /* Appel recursif */
retourner F /* Ensemble dlments frquents et leur support */
Algorithme 11 Eclat-addFrequentSupersets
E NTRES : Liste des arguments :
- p P(A) /* Prfixe */
- C /* Matrice des motifs frquents de p */
- F /* Ensemble des motifs frquents et de leur support */
pour (x, Dx ) C faire
q = p {x}
Cq = {(y, Dx Dy )|(y, Dy ) C, y > x}
Cq0 = f req(Cq ) /* Cq est filtre selon (15) */
si Cq0 6= alors
F = addFrequentSupersets(q,Cq0 )
fin si
F = F {(q, |Dx |)}
fin pour
retourner F

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

15

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

Algorithme 12 SSDM-CyclesDeSimilarit
A2 = ensemble dassociations floues de taille 2
pour (k = 3; k < size(Dn ); k++) faire
comparer chaque paire dassociation floues dans Ak1
si (prefixe(ai ) = prefixe(a j ), i 6= j) alors
// Si lunion des suffixes est suffisament similaire
si ((suffix(ai ) suffix(a j )) A2 ) alors
ak = ai suffix(a j )
fin si
fin si
fincomparer
Ak = ensemble de tous les ak
fin pour
Sn = groupe de tous les Ak

Algorithme 13 kDCI
E NTRES : D, minSupp
F1 = premierScan(D, minSupp) /* Obtenir les figures doptimisation durant le premier scan */
F2 = secondScan(D0 , minSupp) /* A partir du second scan on utilise une base de donnes D0
temporaire */
k=2
tant que D0 .taille_verticale() > memoire_disponible() faire
k++
Fk = DCP(D0 , minSupp, k)
fin tant que
k++
Fk = DCP(D0 ,V D, minSupp, k) /* Cration dune base de donnes verticale */
dense = V D.est_dense()
tant que Fk 6= faire
k++
si usec le fm oti f () alors
si dense alors
Fk = DCI_dense_keyp(V D, minSupp, k)
sinon
Fk = DCI_sparse_keyp(V D, minSupp, k)
fin si
sinon
si dense alors
Fk = DCI_dense(V D, minSupp, k)
sinon
Fk = DCI_sparse(V D, minSupp, k)
fin si
fin si
fin tant que

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

16

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

Algorithme 14 GSP
F1 = {1-squence frquentes}
pour k = 1 jusqu Fk1 6= faire
Ck = Ensemble de ksquences candidates
pour DB faire
pour Ck faire
si alors
Incrmenter le compteur de
fin si
fin pour
fin pour
Fk = { Ck |.sup minSupp}
fin pour
S
retourner k Fk /* Ensemble des squences frquentes */

Algorithme 15 SPADE
E NTRES : minSupp, D /* Support minimal et base de donnes */
F1 ={ lements frquents ou 1-squences frquentes }
F2 ={2-squences frquentes}
={classes quivalentes [X]1 }}
pour [X] faire
EnumerateFrequentSeq([X])
fin pour

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

17

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

Algorithme 16 SPADE-EnumerateFrequentSeq
E NTRES : S /* Un sous-treillis et son ID-liste */
pour Ai S faire
Ti =
pour A j S avec j > i faire
R = Ai A j
si Prune(R) = FAUX alors
L(R) = L(Ai ) L(A j )
si (R) minSupp alors
Ti = Ti {R}
F|R| = F|R| {R}
fin si
fin si
fin pour
si DepthFirstSearch alors
EnumerateFrequenteSeq(Ti )
fin si
fin pour
si BreadthFirstSearch alors
pour Ti 6= faire
EnumerateFrequenteSeq(Ti )
fin pour
fin si

Algorithme 17 SPADE-Prune
E NTRES :
pour (k-1)-sous-squence, faire
si [1 ] a t calcul et
/ Fk1 alors
retourner Vrai
fin si
fin pour
retourner Faux

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

18

tudes des principaux algorithmes de data mining

[S CIA ] E PITA 2009

Rfrences
[1] Manish Mehta 0002, Rakesh Agrawal, and Jorma Rissanen. SLIQ : A fast scalable classifier for data
mining. In Apers et al. [3], pages 1832.
[2] Rakesh Agrawal, Tomasz Imielinski, and Arun N. Swami. Mining association rules between sets of items
in large databases. In Peter Buneman and Sushil Jajodia, editors, SIGMOD Conference, pages 207216.
ACM Press, 1993.
[3] Peter M. G. Apers, Mokrane Bouzeghoub, and Georges Gardarin, editors. Advances in Database
Technology - EDBT96, 5th International Conference on Extending Database Technology, Avignon,
France, March 25-29, 1996, Proceedings, volume 1057 of Lecture Notes in Computer Science. Springer,
1996.
[4] Leo Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone. Classification and Regression Trees.
Wadsworth, 1984.
[5] Eduardo L. G. Escovar, Mauro Biajiz, and Marina Teresa Pires Vieira. SSDM : A semantically similar
data mining algorithm. In Carlos A. Heuser, editor, SBBD, pages 265279. UFU, 2005.
[6] Yoav Freund and Robert E. Schapire. A decision-theoretic generalization of on-line learning and an
application to boosting. J. Comput. Syst. Sci., 55(1) :119139, 1997.
[7] Jiawei Han, Jian Pei, Yiwen Yin, and Runying Mao. Mining frequent patterns without candidate
generation : A frequent-pattern tree approach. Data Min. Knowl. Discov., 8(1) :5387, 2004.
[8] Sreerama K. Murthy, Simon Kasif, Steven Salzberg, and Richard Beigel. Oc1 : A randomized induction
of oblique decision trees. In AAAI, pages 322327, 1993.
[9] Salvatore Orlando, Claudio Lucchese, Paolo Palmerini, Raffaele Perego, and Fabrizio Silvestri. kdci : a
multi-strategy algorithm for mining frequent sets. In FIMI, 2003.
[10] Robi Polikar, L. Upda, S. S. Upda, and Vasant Honavar. Learn++ : an incremental learning algorithm for
supervised neural networks. IEEE Transactions on Systems, Man, and Cybernetics, Part C, 31(4) :497
508, 2001.
[11] J. Ross Quinlan. Induction of decision trees. Machine Learning, 1(1) :81106, 1986.
[12] Ross R. Quinlan. C4.5 : programs for machine learning. Morgan Kaufmann Publishers Inc., 1993.
[13] Jeffrey C. Schlimmer and Douglas H. Fisher. A case study of incremental concept induction. In AAAI,
pages 496501, 1986.
[14] John C. Shafer, Rakesh Agrawal, and Manish Mehta 0002. SPRINT : A scalable parallel classifier for
data mining. In T. M. Vijayaraman, Alejandro P. Buchmann, C. Mohan, and Nandlal L. Sarda, editors,
VLDB, pages 544555. Morgan Kaufmann, 1996.
[15] Ramakrishnan Srikant and Rakesh Agrawal.
Mining sequential patterns : Generalizations and
performance improvements. In Apers et al. [3], pages 317.
[16] Paul E. Utgoff. Incremental induction of decision trees. Machine Learning, 4 :161186, 1989.
[17] Mohammed J. Zaki. Scalable algorithms for association mining. IEEE Transactions on Knowledge and
Data Engineering, 12 :372390, 2000.
[18] Mohammed Javeed Zaki. SPADE : An efficient algorithm for mining frequent sequences. Machine
Learning, 42(1/2) :3160, 2001.

E PITA, 14-16 rue Voltaire, 94270 Le Kremlin-Bictre, France

19