Vous êtes sur la page 1sur 325

Laboratoire dInformatique

Fondamentale de Lille

OPAC

Fouille de donnes (Data Mining)


- Un tour dhorizon E-G. Talbi
talbi@lifl.fr

Introduction au Data Mining


Dfinition du Data Mining
Pourquoi le Data Mining ?
Description du processus KDD
(Knowledge Data Discovery)
Applications
Tches et Techniques du Data Mining

Quest-ce que le DM ?

Processus inductif, itratif et interactif de


dcouverte dans les BD larges de modles de
donnes valides, nouveaux, utiles et
comprhensibles.
Itratif : ncessite plusieurs passes
Interactif : lutilisateur est dans la boucle du
processus
Valides : valables dans le futur
Nouveaux : non prvisibles
Utiles : permettent lutilisateur de prendre
des dcisions
Comprhensibles : prsentation simple

Notion dinduction [Peirce 1903]

Abduction : diagnostic mdical, ...

Toutes les voitures ont 4 roues


La Peugeot 206 a 4 roues
==> La Peugeot 206 est une voiture

Dduction : Raisonnement qui conclut partir de


prmisses et dhypothses la vrit dune proposition en
usant des rgles dinfrence

Toutes les voitures ont 4 roues


La Peugeot 206 est une voiture
==> La Peugeot 206 a 4 roues

Notion dinduction [Peirce 1903]

Induction : Gnralisation dune observation ou dun


raisonnement tablis partir de cas singuliers.
Utilise en Data mining (tirer une conclusion partir
d une srie de faits, pas sre 100%)

La clio a 4 roues, La Peugeot 106 a 4 roues, La BMW M3 a 4


roues, La Mercedes 190 a 4 roues
==> Toutes les voitures ont 4 roues

Motivations (1)

Explosion des donnes

Masse importante de donnes (millions de milliards


dinstances) : elle double tous les 20 mois.
BD trs larges - Very Large Databases (VLDB)
Donnes multi-dimensionnelles (milliers dattributs)
BD denses
Inexploitables par les mthodes danalyse classiques
Collecte de masses importantes de donnes (Gbytes/heure)
Donnes satellitaires, gnomiques (micro-arrays, ),
simulations scientifiques, etc.
Besoin de traitement en temps rel de ces donnes

Motivations (2)

Amliorer la productivit

Forte pression due la concurrence du march


Brivet du cycle de vie des produits
Besoin de prendre des dcisions stratgiques efficaces
Exploiter le vcu (donnes historiques) pour prdire le
futur et anticiper le march
individualisation des consommateurs (d-massification).

Croissance en puissance/cot des machines capables

de supporter de gros volumes de donnes


dexcuter le processus intensif dexploration
htrognit des supports de stockage

Motivations (3)

F ile E dit

L oc ate

V iew

Storage
Storage

H elp

500

E
D
C
B
A

400
300
200
100
0

Network
Traffic

Mount
431
7437 1950
79%
/
02 631963
47358
Help
93%
/us

Storage
Storage

Storage
Storage
Storage
Storage
Storage
Storage

Storage
Storage

Storage
Storage

Internet
Storage
Storage

Masse importante de donnes supports htrognes

Le processus de dcouverte de connaissances

Collecte,
Collecte,
Nettoyage,
Nettoyage,
Intgration
Intgration

Sources de
donnes

Data mining : coeur de KDD


(Knowledge Data Discovery).

Data
Warehouse

Prparation
Prparation
desdonnes
donnes
des

Donnes
dapprentissage

Vrification&&
Vrification
Evaluation
Evaluation

Data
Data
Mining
Mining

Modles,
Patterns

Dmarche mthodologique (1)

Comprendre lapplication

Slectionner un chantillon de donnes

Choisir une mthode dchantillonnage

Nettoyage et transformation des donnes

Connaissances a priori, objectifs, etc.

Supprimer le bruit : donnes superflues, marginales,


donnes manquantes, etc.
Effectuer une slection dattributs, rduire la dimension
du problme, etc.

Appliquer les techniques de fouille de donnes

Choisir le bon algorithme

Dmarche mthodologique (2)

Visualiser, valuer et interprter les modles


dcouverts

Analyser la connaissance (intrt)


Vrifier sa validit (sur le reste de la base de donnes)
Ritrer le processus si ncessaire

Grer la connaissance dcouverte

La mettre la disposition des dcideurs


Lchanger avec dautres applications (systme expert, )
etc.

Data Mining et aide la dcision


Potentiel de support
de dcision

Prise
de dcisions

Utilisateur(s)

Prsentation des
connaissances

Dcideur(s)

Techniques de visualisation

Data Mining

Dcouverte de connaissances

Analyste(s) de donnes

Exploration de donnes

(Statistiques, Requtes, ...)


Data Warehouses

(OLAP, ...)

Sources de donnes

Administrateur de
Bases de donnes

(Papier, Fichiers, Fournisseurs dinformation, SGBD, )

Objectifs

Dvelopper des techniques et systmes efficaces


et extensibles pour lexploration de :

BD larges et multi-dimensionnelles
Donnes distribues

Faciliter lutilisation des systmes de DM

Limiter lintervention de lutilisateur


Reprsentation simple de la connaissance
Visualisation sous forme exploitable

Communauts impliques

Intelligence artificielle et apprentissage

Bases de donnes

Analyse de donnes (statistiques)

Visualisation

Recherche oprationnelle et optimisation

Informatique parallle et distribue

Etc.

Data Mining et Statistiques

Data mining : Exploratoire, Data-driven modeling


Statistiques : Confirmatoire, User-driven modeling
Distribution d une seule variable : moyenne, mdiane,
variance, cart-type,
Explorer les relation entre variables : coefficient de
corrlation,
Dcouverte de la cause des relations entre de nombreuses
variables est assez complexe.
test du X2, ...
Rseaux baysiens (probabilits conditionnelles)

Dcouverte de modles fonctionnels


Mthodes de rgression :
rgression linaire : Y = aX+ b (a, b : valeurs relles)
Nombre de
petits commerants

*
*

Nombre de grandes
surfaces

Rapide et efficace (valeurs relles)


Insuffisante pour l analyse despace multidimentionnel

Dcouverte de modles fonctionnels


Kernel regression : dcouvrir graphiquement
la fonction utiliser, peut tre une courbe
Nombre de
petits commerants

*
*

*
*

Nombre de grandes
surfaces

Techniques statistiques inadquates : nombre de


facteurs important, modles non linaires.

Domaines dapplication
Prise de dcision base
sur de nouvelles
connaissances
Ex., impact sur le
marketing
Le rle et limportance du
KDD et DM est de plus en
plus important
Mais le DM nest pas
seulement dans le
marketing...

Marketing
BDD
Marketing

Data
Warehousing

KDD &
Data Mining

Domaines dapplication

Marketing direct : population cibler (ge, sexe,


profession, habitation, rgion, ) pour un
publipostage.
Gestion et analyse des marchs : Ex. Grande
distribution : profils des consommateurs, modle
d achat, effet des priodes de solde ou de
publicit, panier de la mnagre
Dtection de fraudes : Tlcommunications, ...
Gestion de stocks : quand commander un produit,
quelle quantit demander,
Analyse financire : maximiser l investissement de
portefeuilles d actions.

Domaines dapplication

Gestion et analyse de risque : Assurances, Banques


(crdit accord ou non)
Compagnies ariennes
Bioinformatique et Gnome : ADN mining,
Mdecine et pharmacie :
Diagnostic : dcouvrir d aprs les symptomes du
patient sa maladie
Choix du mdicament le plus appropri pour
gurir une maladie donn
Web mining, text mining, etc.

Exemple 1 - Marketing
Vous tes gestionnaire marketing dun
oprateur de tlcommunications
mobiles :
Les clients recoivent un tlphone gratuit
(valeur 150) avec un contrat dun an ;
vous payer une commission de vente de
250 par contrat
Problme : Taux de renouvellement ( la
fin du contrat) est de 25%
Donner un nouveau tlphone toute
personne ayant expirer son contrat cote
cher.
Faire revenir un client aprs avoir quitter
est difficile et coteux.

Exemple 1 - Marketing

Yippee!
Yippee!
Jereste
reste!!
Je

Trois mois avant


lexpiration du contrat,
prdire les clients qui
vont quitter :
Si vous voulez les garder,
offrir un nouveau
tlphone.

Exemple 2 - Assurances
Oh,oui!
oui!
Oh,
Jaimema
ma
Jaime
Ferrari!
Ferrari!

Vous tes un agent


dassurance et vous
devez dfinir un
paiement mensuel adapt
un jeune de 18 ans qui a
achet une Ferrari.
Quest ce quil faut faire
?

Exemple 2 - Assurances
Analyser les donnes de tous les
clients de la compagnie.
La probabilit
est base sur

davoir un accident
?

Sexe du client (M/F) et lge


Modle de la voiture, ge, adresse, ....
etc.

Si la probabilit davoir un
accident est suprieure la
moyenne, initialiser la mensualit
suivant les risques.

Exemple 3 Banque - Tlcom


Vous tes ltranger et
quelquun a vol votre carte de
crdir ou votre mobile
compagnies bancaires
Utiliser les donnes historiques pour
construire un modle de comportement
frauduleux et utiliser le data mining
pour identifier des instances
similaires.

compagnies tlphoniques
Analyser les patterns qui drivent du
comportement attendu (destinataire,
dure, etc.)

Exemple 4 - Web

bonne
bonne
expriencede
desurfing!
surfing!
exprience

Les logs des accs Web sont


analyss pour
Dcouvrir les prfrences des
utilisateurs
Amliorer lorganisation du site
Web

De manire similaire
Lanalyse de tous les types
dinformations sur les logs
Adaptation de linterface
utilisateur/service

Paramtres dun processus KDD

Format, Type ?
Donnes
dapprentissage

Technique ?

Data
Data
Mining
Mining

Modles,
Patterns

Tche ?

Type de
reprsentation ?

Les donnes
Valeurs des champs des enregistrements des
tables de lentropot (base de donnes)
Types :
Donnes discrtes : donnes binaires (sexe, ),
donnes numratives (couleur, ), numratives
ordonnes (rponses 1:trs satisfait, 2:satisfait,
).
Donnes continues : donnes entires ou relles
(ge, salaire, )
Dates
Donnes textuelles
Pages/liens web, Multimdia,

Tches du Data Mining

Classification

Clustering (Segmentation)

Recherche dassociations

Recherche de squences

Dtection de dviation

Classification

Elle permet de prdire si une instance de donne est membre


dun groupe ou dune classe prdfinie.
Classes

Groupes dinstances avec des profils particuliers


Apprentissage supervis : classes connues lavance
Applications : marketing direct (profils des consommateurs),
grande distribution (classement des clients), mdecine
(malades/non malades), etc.
Exemple : les acheteurs de voitures de sport sont de jeunes
citadins ayant un revenu important

Clustering (Segmentation)

Partitionnement logique de la base de donnes en


clusters

Clusters : groupes dinstances ayant les mmes


caractristiques
Apprentissage non supervis (classes inconnues)

Pb : interprtation des clusters identifis

Applications : Economie (segmentation de marchs),


mdecine (localisation de tumeurs dans le cerveau), etc.

Rgles dassociation

Corrlations (ou relations) entre attributs (mthode non


supervise)
Applications : grande distribution, gestion des stocks, web
(pages visites), etc.
Exemple
BD commerciale : panier de la mnagre
Articles figurant dans le mme ticket de caisse
Ex : achat de riz + vin blanc ==> achat de poisson
Achats bires et couches-culottes (USA, Week-end)

Recherche de squences

Recherche de squences

Liaisons entre vnements sur une priode de temps


Extension des rgles dassociation

Prise en compte du temps (srie temporelle)


Achat Tlvision ==> Achat Magntoscope dici 5 ans

Applications : marketing direct (anticipation des


commandes), bioinformatique (squences dADN), bourse
(prdiction des valeurs des actions)

Exemple

BD commerciale (ventes par correspondance)


Commandes de clients
Ex : 60% des consommateurs qui commandent la bire
Mort subite commandent de laspro juste aprs
Squences dAND : ACGTC est suivie par GTCA aprs un
gap de 9, avec une probabilit de 30%

Dtection de dviation

Instances ayant des caractristiques les plus


diffrentes des autres

Base sur la notion de distance entre instances


Expression du problme

Applications

Temporelle : volution des instances ?


Spatiale : caractristique dun cluster dinstances ?

Dtection de fraudes (transactions avec une carte


bancaire inhabituelle en telemarketing)

Caractristiques

Problme dinterprtation : bruit ou exception (donc


connaissance intressante)

Illustration

Point isol

Techniques utilises
K-moyennes, A-priori, K-NN
Rseaux de neurones
Algorithmes gntiques
Chanes de Markov caches
Arbres de dcision
Rseaux bayesiens
Soft computing : ensembles flous

Rsum - Introduction
Data mining : dcouverte automatique de modles
intressants partir densemble de donnes de
grande taille
KDD (knowledge data discovery) est un processus :
Pr-traitement (Pre-processing)
Data mining
Post-traitement (Post-processing)

Pour le data mining, utilisation de diffrents

Base de donnes (relationelle, oriente objet, spatiale,


WWW, )
Connaissances (classification, clustering, association, )
Techniques (apprentissage, statistiques, optimisation, )
Applications (gnomique, tlcom, banque, assurance,
distribution, )

Travaux pratiques :
Cadre du travail

WEKA 3.2
Waikato Environment for Knowledge
Analysis

http://www.cs.waikato.ac.nz/ml/weka/
http://www.lifl.fr/~jourdan

WEKA
Logiciel gratuit disponible sur le web :

http://www.cs.waikato.ac.nz/ml/weka/
Plate forme logicielle en Java tournant
sous :
Windows
Linux

Facile prendre en main

WEKA
Interface en ligne de commande
Explorer (interface graphique)
Filtre
Apprentissage (clustering,
classification, ...)
Slection dattributs
Visualisateur de donnes et de
rsultats

Exprimenter (environnement
dexprience)

Test dune mthode spcifique sur


un ensemble de donnes avec des
critres varis pour la
comparaison de rsultats

WEKA
En entre : fichiers, base de donnes, Url
En sortie : affichage des rsultats, sortie des
rsultats dans des fichiers, visualisation
graphique
Exemple de
visualisation aprs
une classification :
une couleur
reprsente une
classe

Weka - Explorer
Les fonctions disponibles :
Filtre et Preprocess sur les donnes
Classification
Clustering
Rgles dassociation
Slection dattributs
Visualisateur

Plan du cours
Clustering
Plan

Classification
Rgles dassociation
Outils pour le Data Mining

Clustering
(Segmentation)

Clustering - Plan

Sommaire

Problmatique du clustering
Applications
Similarit et types de donnes
Mthodes de clustering
Mthodes de partitionnement
Mthodes hirarchiques
Mthodes par voisinage dense
Application relle en gnomique
Rsum

Problmatique
Soient N instances de donnes k attributs,
Trouver un partitionnement en c clusters
(groupes) ayant un sens (Similitude)
Affectation automatique de labels aux clusters
c peut tre donn, ou dcouvert
Plus difficile que la classification car les classes
ne sont pas connues lavance (non supervis)
Attributs

Numriques (distance bien dfinie)


Enumratifs ou mixtes (distance difficile dfinir)

Qualit dun clustering


Une bonne mthode de clustering produira
des clusters dexcellente qualit avec :
Similarit intra-classe importante
Similarit inter-classe faible
La qualit dun clustering dpend de :
La mesure de similarit utilise
Limplmentation de la mesure de
similarit
La qualit dune mthode de clustering est
value par son abilit dcouvrir certains
ou tous les patterns cachs.

Objectifs du clustering
Minimiser
Minimiser les
les distances
distances
intra-cluster
intra-cluster

Maximiser
Maximiser les
les distances
distances
inter-clusters
inter-clusters

Exemples dapplications
Marketing : segmentation du march en dcouvrant des
groupes de clients distincts partir de bases de donees
dachats.
Environnement : identification des zones terrestres
similaires (en termes dutilisation) dans une base de
donnes dobservation de la terre.
Assurance: identification de groupes dassurs distincts
associs un nombre important de dclarations.
Planification de villes : identification de groupes
dhabitations suivant le type dhabitation, valeur,
localisation gographique,
Mdecine : Localisation de tumeurs dans le cerveau
Nuage de points du cerveau fournis par le neurologue
Identification des points dfinissant une tumeur

Exemple: segmentation de marchs

Mesure de la similarit
Il ny a pas de dfinition unique
de la similarit entre objets
Diffrentes mesures de
distances d(x,y)
La dfinition de la similarit
entre objets dpend de :
Le type des donnes
considres
Le type de similarit
recherche

Choix de la distance

Proprits dune distance :

1. d ( x , y ) 0
2. d ( x , y ) = 0 iff x = y
3. d ( x , y ) = d ( y , x )
4. d ( x , z ) d ( x , y ) + d ( y , z )

Dfinir une distance sur chacun des champs


Champs numriques : d(x,y) = |x-y|, d(x,y)= |x-y|/dmax
(distance normalise).
Exemple : Age, taille, poids,

Distance Donnes numriques

Combiner les distances : Soient x=(x1,,xn) et y=(y1, ,yn)


Exemples numriques :
Distance euclidienne :

2
(
)

i
i
x
y

d(x, y)=

i=1
n

xy

Distance de Manhattan : d(x, y)=

i=1

Distance de Minkowski :

d(x, y)=

k=1 : distance de Manhattan.


k=2 : distance euclidienne

y
x
i
i
i =1

Choix de la distance

Champs discrets :

Donnes binaires : d(0,0)=d(1,1)=0, d(0,1)=d(1,0)=1


Donne numratives : distance nulle si les valeurs sont
gales et 1 sinon.
Donne numratives ordonnes : idem. On peut dfinir
une distance utilisant la relation dordre.

Donnes de types complexes : textes, images, donnes


gntiques, ...

Distance Donnes binaires


Object j

Table de contingence
(dissimilarit)

1
Object i

c
d
sum a + c b + d

sum
a +b
c+d
p

Coefficient de correspondance simple (similarit


invariante, si la variable binaire est symtrique)
symtrique :
b+c
d (i, j ) =
a+b+c+d
Coefficient de Jaccard (similarit non invariante,
si la variable binaire est asymtrique):
asymtrique
b+c
d (i, j ) =
a+b+c

Distance Donnes binaires


Exemple : dissimilarit entre variables binaires
Table de patients
Nom
Jack
Mary
Jim

Sexe
M
F
M

Fivre
Y
Y
Y

Toux
N
N
P

Test-1
P
P
N

Test-2
N
N
N

Test-3
N
P
N

Test-4
N
N
N

8 attributs, avec
Sexe un attribut symtrique, et
Les attributs restants sont asymtriques
(test VIH, )

Distance Donnes binaires


Les valeurs Y et P sont initialises 1, et la
valeur N 0.
Calculer la distance entre patients, base
sur le coefficient de Jaccard.
0 +1
d ( jack , mary ) =
= 0.33
2 + 0 +1
1+1
d ( jack , jim ) =
= 0.67
1+1+1
1+ 2
d ( jim , mary ) =
= 0.75
1+1+ 2

Distance Donnes numratives


Gnralisation des variables binaires, avec
plus de 2 tats,
tats e.g., rouge, jaune, bleu, vert
Mthode 1: correpondance simple
m: # de correspondances, p: # total de
variables

p
m

d (i, j ) =
p

Distance Donnes mixtes


Exemple : (Age, Propritaire rsidence principale, montant
des mensualits en cours)

x=(30,1,1000), y=(40,0,2200), z=(45,1,4000)


d(x,y)=sqrt( (10/15)2 + 12 + (1200/3000)2) = 1.27
d(x,z)= sqrt( (15/15)2 + 02 + (3000/3000)2) = 1.41
d(y,z)= sqrt( (5/15)2 + 12 + (1800/3000)2) = 1.21
plus proche voisin de x = y

Distances normalises.
Sommation : d(x,y)=d1(x1,y1) + + dn(xn,yn)

Donnes mixtes Exemple 1

Base de donnes Cancer du sein


http://www1.ics.uci.edu/~mlearn/MLSummary.html
#instances = 286 (Institut Oncologie, Yugoslavie)
# attributs = 10

Classe : no-recurence-events, recurrence-events


Age : 10-19, 20-29, 30-39, 40-49, , 90-99
Menopause : Lt40, Ge40, premeno
Taille de la tumeur : 0-4, 5-9, 10-14, , 55-59
Inv-nodes : 0-2, 3-5, 6-8, , 36-39 (ganglions lymphatiques)
Node-caps : Oui, Non
Deg-malig : 1, 2, 3 (Dgr de malignit)
Sein : Gauche, Droit
Breast-quad : left-up, left-low, right-up, right-low, central
Irradiation : Oui, Non

Donnes mixtes Exemple 2

Base de donnes Diabte : Diagnostic (OMS)


http://www1.ics.uci.edu/~mlearn/MLSummary.html
#instances = 768 (Arizona, USA)
# attributs = 8

Nombre de grossesses
Concentration du taux de glucose dans le plasma
Pression sanguine diastolique (mm Hg)
Epaisseur de la graisse du triceps (mm)
Taux dinsuline aprs 2 heures (repas) (mu U/ml)
Indice de masse corporelle (poids en kg / (taille en m)^2)
Fonction Diabete pedigree
Age (ans)
Classe (Positif ou Ngatif)

Mthodes de Clustering

Mthode de partitionnement (Kmoyennes)


Mthodes hirarchiques (par
agglomration)
Mthode par voisinage dense

Caractristiques

Apprentissage non supervis


(classes inconnues)
Pb : interprtation des
clusters identifis

Mthodes de clustering - Caractristiques


Extensibilit
Abilit traiter diffrents
types de donnes
Dcouverte de clusters de
diffrents formes
Connaissances requises
(paramtres de lalgorithme)
Abilit traiter les donnes
bruites et isoles.

Algorithme des k-moyennes (K-means)

Entre : un chantillon de m enregistrements x1, , xm

1. Choisir k centres initiaux c1, , ck

2. Rpartir chacun des m enregistrements dans le groupe


i dont le centre ci est le plus proche.

3. Si aucun lment ne change de groupe alors arrt et


sortir les groupes

4. Calculer les nouveaux centres : pour tout i, ci est la


moyenne des lments du groupe i.

Aller en 2.

Illustration (1)
Centres
initiaux

Illustration (2)
Nouveaux
centres

Illustration (3)
Centres
finaux

Algorithme des k-moyennes : Exemple

8 points A, , H de l espace eucliden 2D.


Tire alatoirement 2 centres : B et D choisis.

k=2 (2 groupes)

points

Centre
D(2,4),
B(2,2)

Centre
Centre
D(2,4),
J(5/3,10/3),
I(27/7,17/7) K(24/5,11/5)

A(1,3)

B(2,2)

B
B

C(2,3)

D(2,4)

E(4,2)

F(5,2)
G(6,2)
H(7,3)

B
B
B

I
I
I

K
K
K

K-moyennes : Avantages
Relativement extensible dans le
traitement densembles de taille
importante
Relativement efficace : O(t.k.n),
o n reprsente # objets, k #
clusters, et t # iterations.
Normalement, k, t << n.
Produit gnralement un optimum
local ; un optimum global peut tre
obtenu en utilisant dautres
techniques telles que :
algorithmes gntiques,

K-moyennes : Inconvnients
Applicable seulement dans le cas o la
moyenne des objets est dfinie
Besoin de spcifier k, le nombre de
clusters, a priori
Incapable de traiter les donnes
bruites (noisy).
Non adapt pour dcouvrir des
clusters avec structures non-convexes,
et des clusters de tailles diffrentes
Les points isols sont mal grs
(doivent-ils appartenir obligatoirement
un cluster ?) - probabiliste

K-moyennes : Variantes

Slection des centres initiaux


Calcul des similarits
Calcul des centres (K-medoids : [Kaufman
& Rousseeuw87] )
GMM : Variantes de K-moyennes bases
sur les probabilits
K-modes : donnes catgorielles
[Huang98]
K-prototype : donnes mixtes (numriques
et catgorielles)

Mthodes hirarchiques
Une mthode hirarchique :
construit une hirarchie de clusters,
non seulement une partition unique
des objets.
Le nombre de clusters k nest pas
exig comme donne
Utilise une matrice de distances
comme critre de clustering
Une condition de terminaison peut
tre utilise (ex. Nombre de
clusters)

Mthodes hirarchiques

Entre : un chantillon de m enregistrements x1, , xm

1. On commence avec m clusters (cluster = 1


enregistrement)

2. Grouper les deux clusters les plus proches .

3. Sarrter lorsque tous les enregistrements sont


membres dun seul groupe

4. Aller en 2.

Arbre de clusters : Exemple


Step 0

Step 1

Step 2

Step 3

ab

abcde

c
d
e

Step 4

cde
de

Arbre de clusters

Rsultat : Graphe hirarchique qui peut tre coup un


niveau de dissimilarit pour former une partition.
La hirarchie de clusters est
reprsente comme un arbre de
clusters, appel dendrogramme
Les feuilles de larbre reprsentent
les objets
Les noeuds intermdiaires de larbre
reprsentent les clusters

Distance entre clusters

Distance entre les centres des clusters (Centroid


Method)

Distance minimale entre toutes les paires de donnes des


2 clusters (Single Link Method)

d (i, j ) = min xCi , yCj { d ( x, y) }

Distance maximale entre toutes les paires de donnes


des 2 clusters (Complete Link Method)
d (i, j ) = max xCi , yCj { d ( x, y ) }

Distance moyenne entre toutes la paires


denregistrements (Average Linkage)

d (i, j ) = avg xCi , yCj { d ( x, y ) }

Mthodes hirarchiques :
Avantages
Conceptuellement simple
Proprits thoriques sont
bien connues
Quand les clusters sont
groups, la dcision est
dfinitive => le nombre
dalternatives diffrentes
examiner est rduit

Mthodes hirarchiques :
Inconvnients
Groupement de clusters est
dfinitif => dcisions
erronnes sont impossibles
modifier ultrieurement
Mthodes non extensibles
pour des ensembles de
donnes de grandes tailles

Mthodes bases sur la densit


Pour ce types de problmes, lutilisation de mesures
de similarit (distance) est moins efficace que
lutilisation de densit de voisinage.

Mthodes bases sur la densit


Minimiser la distance inter-clusters nest pas
toujours un bon critre pour reconnatre des
formes (applications gographiques,
reconnaissance de formes tumeurs, ).
Dist=18

Dist=15.3

Mthodes bases sur la densit (1)


Soit d* un nombre rel positif
Si d(P,Q)<=d*, Alors P et Q appartiennent au
mme cluster
Si P et Q appartiennent au mme cluster, et
d(Q,R)<=d*, Alors P et R appartiennent au
mme cluster

Mthodes bases sur la densit (2)


Soit e* un nombre rel positif
Un point P est dense ssi |{Q/d(P,Q)<=d*}|>=e*
Si P et Q appartiennent au mme cluster, et
d(Q,R)<=d* et Q est dense, Alors P et R
appartiennent au mme cluster
Les points non-denses sont appels points de
bordure .
Les points en dehors des clusters sont
appels bruits .

Mthodes bases sur la densit


d*

e*=4

P
Q
S

Points noirs sont denses ; les autres ne sont pas denses


Pour montrer que P et S appartiennent au mme cluster, il suffit de
montrer que P et R appartiennent au mme cluster. Pour le
montrer pour P et R, il suffit de le montrer pour P et Q

Mthodes bases sur la densit

Deux clusters sont trouvs


Deux points sont des bruits
Trois points sont des bordures

Etude de cas rel : Gnomique

Slection dattributs
+ Clustering
LIFL : Equipe OPAC
I.B.L

Le contexte
Gnopole de Lille : Aspect gntique des
maladies multifactorielles
Collaboration avec lI.B.L. (Institut de
Biologie de Lille) laboratoire des
maladies multifactorielles (UPRES-A
8090) : diabte, obsit
Gnration de gros volumes de donnes :
outil daide linterprtation des
rsultats

Etudes de lIBL
Etudes de type familial (parents, enfants)
Prlvement dADN
Analyse de liaison : co-transmission dun gne
Comparaison de gnes entre paires dindividus
dune mme famille

Objectif :

Localiser un ou plusieurs gnes de


prdisposition pour la maladie

Problme pos
Trs grand nombre de donnes gnres
(~ 1 000 points de comparaison, 200 familles)

Mthodes statistiques limites pour


tudier la corrlation entre gnes

Besoin dun outil dextraction


de connaissances : Data Mining

Contexte
Hypothses de travail :
un cas particulier de Data Mining
les donnes fournies par lIBL contiennent de
nombreux attributs
existence de donnes manquantes ou incertaines
contexte d apprentissage non supervis
Objectif :
connatre les classes d attributs provoquant la
maladie
connatre les corrlations entre les attributs

Mthodologie adopte
Ralisation :
dune slection d attributs : Rduire le nombre
d attributs pour amliorer la classification
dun clustering
Slection
d attributs

N attributs

N>>m

Classes
Clustering
m attributs

K-moyennes
Sans slection d attributs :
400 attributs pour 200 objets,
temps de calcul > 7500 min. (>125 h.),
rsultats inexploitables

Avec slection d attributs :


une dizaine d attributs pour 200 objets,
temps de calcul entre 3 minutes et 15 minutes,
rsultats exploitables.

Workshop GAW11 de 1998


Donnes simules dont on connat les
rsultats
Rsultats trouver :
A

B
D

C
E1

Rsultats
Rsultats obtenus sur le workshop GAW11 de 1998
Exemple d ensembles d attributs slectionns
(Support trouv > 0.65) :
81 85, 402 407, 224 229 (Locus C) , 308 313, 190
195, 374 379 (Locus B)
Exemple de clustering
E1 C

E2
Classe 1

B
Classe 2

Conclusion
Bilan
Comprhension et modlisation d un
problme complexe
Slection d attributs : slection de locus
impliqus dans la maladie
Clustering : les ensembles finaux sont
trouvs lorsqu il y a peu d erreurs dans le
choix des attributs slectionns

Clustering Rsum (1)


Le clustering groupe des objets
en se basant sur leurs
similarits.
Le clustering possde plusieurs
applications.
La mesure de similarit peut
tre calcule pour diffrents
types de donnes.
La slection de la mesure de
similarit dpend des donnes
utilises et le type de similarit
recherche.

Clustering Rsum (2)


Les mthodes de clustering
peuvent tre classes en :
Mthodes de
partitionnement,
Mthodes hirarchiques,
Mthodes densit de
voisinage.
Plusieurs travaux de
recherche sur le clustering
en cours et en perspective.
Plusieurs applications en
perspective : Gnomique,
Environnement,

Rfrences
M. R. Anderberg. Cluster Analysis for Applications.
Academic Press, 1973.
P. Arabie, L. J. Hubert, and G. De Soete. Clustering
and Classification. World Scientific, 1996
A. K. Jain and R. C. Dubes. Algorithms for Clustering
Data. Prentice Hall, 1988
L. Kaufman and P. J. Rousseeuw. Finding Groups in
Data: an Introduction to Cluster Analysis. John
Wiley & Sons, 1990.

Classification

Sommaire

Sommaire

Dfinition
Validation dune classification
(accuracy)
K-NN (plus proches voisins)
Arbres de dcision
Rseaux de neurones
Autres mthodes de
classification
Etude de cas rel :
Protomique
Rsum

Classification

Elle permet de prdire si un lment est membre


dun groupe ou d une catgorie donn.

Classes

Identification de groupes avec des profils


particuliers
Possibilit de dcider de lappartenance dune
entit une classe

Caractristiques

Apprentissage supervis : classes connues


lavance
Pb : qualit de la classification (taux derreur)
Ex : tablir un diagnostic (si erreur !!!)

Classification - Applications
Accord de crdit
Applications

Marketing cibl
Diagnostic mdical
Analyse de leffet dun
traitement
Dtection de fraudes
fiscales
etc.

Processus deux tapes

processus
2 tapes

Etape 1 :
Construction du modle
partir de lensemble
dapprentissage (training
set)
Etape 2 :
Utilisation du modle :
tester la prcision du
modle et lutiliser dans la
classification de nouvelles
donnes

Construction du modle
Chaque instance est suppose
appartenir une classe
prdfinie
Etape 1

La classe dune instance est


dtermine par lattribut classe
Lensemble des instances
dapprentissage est utilis dans la
construction du modle
Le modle est reprsent par des
rgles de classification, arbres
de dcision, formules
mathmatiques, ...

Utilisation du modle
Classification de nouvelles
instances ou instances inconnues
Etape 2

Estimer le taux derreur du


modle
la classe connue dune instance
test est compare avec le
rsultat du modle
Taux derreur = pourcentage de
tests incorrectement classs
par le modle

Validation de la Classification
(accuracy)
Estimation des taux derreurs :

Partitionnement : apprentissage et test (ensemble


de donnes important)
Utiliser 2 ensembles indpendents, e.g.,
ensemble dapprentissage (2/3), ensemble test
(1/3)
Apprentissage Dt

Validation D\Dt

Validation de la Classification
(accuracy)
Validation croise (ensemble de donnes modr)
Diviser les donnes en k sous-ensembles
Utiliser k-1 sous-ensembles comme donnes
dapprentissage et un sous-ensemble comme donnes test

D1 D2 D3 D4
D1 D2 D3 D4

D1 D2 D3 D4

D1 D2 D3 D4

D1 D2 D3 D4

Bootstrapping : n instances test alatoires (ensemble de


donnes rduit)

Exemple : Construction du modle


Donnes
Apprentissage

Nom
Mary
James
Bill
John
Mark
Annie

Rang
Anne
Assistant Prof
3
Assistant Prof
7
Professor
2
Associate Prof
7
Assistant Prof
6
Associate Prof
3

Algorithmes
Classification

Titulaire
non
Modle
oui
oui
oui Si Rang = Professor
non Ou Anne > 6
non Alors Titulaire = Oui

Exemple : Utilisation du modle


Classifier
Donnes
Test

Nom
Tom
Lisa
Jack
Ann

Rang
Anne
Assistant Prof
2
Associate Prof
7
Professor
5
Assistant Prof
7

Taux derreur
du modle ?
Titulaire
non
non
oui
oui

Exemple : Utilisation du modle


Classifier
Donne
inconnue

Nom
Jeff
Paul

Rang
Anne
Professor
4
Associate Prof
7

Titulaire ?
Titulaire
?
?

Oui
Oui

Evaluation des
mthodes de classification
Taux derreur (Accuracy)
Temps dexcution (construction,
utilisation)
Robustesse (bruit, donnes
manquantes,...)
Extensibilit
Interprtabilit
Simplicit

Mthodes de Classification

Mthode K-NN (plus proche


voisin)
Arbres de dcision
Rseaux de neurones
Classification baysienne

Caractristiques

Apprentissage supervis
(classes connues)

Mthode des plus proches voisins

Mthode ddie la classification (k-NN : nearest


neighbor).
Mthode de raisonnement partir de cas : prendre
des dcisions en recherchant un ou des cas similaires
dj rsolus.
Pas dtape d apprentissage : construction d un
modle partir dun chantillon d apprentissage
(rseaux de neurones, arbres de dcision, ).
Modle = chantillon dapprentissage + fonction de
distance + fonction de choix de la classe en fonction
des classes des voisins les plus proches.

Algorithme kNN (K-nearest neighbors)

Objectif : affecter une classe une nouvelle instance


donne : un chantillon de m enregistrements classs
(x, c(x))
entre : un enregistrement y
1. Dterminer les k plus proches enregistrements
de y
2. combiner les classes de ces k exemples en une
classe c
sortie : la classe de y est c(y)=c

Algorithme kNN : slection de la classe

Solution simple : rechercher le cas le plus proche et


prendre la mme dcision (Mthode 1-NN).
Combinaison des k classes :
Heuristique : k = nombre d attributs + 1
Vote majoritaire : prendre la classe majoritaire.
Vote majoritaire pondr : chaque classe est pondre.
Le poids de c(xi) est inversement proportionnel la
distance d(y,xi).
Confiance : Dfinir une confiance dans la classe attribue
= rapport entre les votes gagnants et le total des votes.

Illustration

Voisinage
5 de la classe
3 de la classe

Algorithme kNN : critique

Pas dapprentissage : introduction de nouvelles donnes ne


ncessite pas la reconstruction du modle.

Clart des rsultats

Tout type de donnes

Nombre dattributs

Temps de classification : -

Stocker le modle : -

Distance et nombre de voisins : dpend de la distance, du


nombre de voisins et du mode de combinaison.

Arbres de dcision
Gnration darbres de dcision partir des donnes
Arbre = Reprsentation graphique dune procdure de
classification
Accord dun prt bancaire
MS : moyenne solde compte courant
MS>5000
Non
Oui
Age>25
Non

Oui
Autres comptes
Oui

Oui

Oui

Non

Non

Non

Un arbre de dcision est un


arbre o :
Noeud interne = un
attribut
Branche dun noeud = un
test sur un attribut
Feuilles = classe donne

Arbre de dcision - Exemple

Ensemble
dapprentissage

Outlook
sunny
sunny
overcast
rain
rain
rain
overcast
sunny
sunny
rain
sunny
overcast
overcast
rain

Temperature
hot
hot
hot
mild
cool
cool
cool
mild
cool
mild
mild
mild
hot
mild

Humidity
high
high
high
high
normal
normal
normal
high
normal
normal
normal
high
normal
high

Windy Class
false
N
true
N
false
P
false
P
false
P
true
N
true
P
false
N
false
P
false
P
true
P
true
P
false
P
true
N

Jouer au tennis ?

Arbre de dcision - Exemple


Outlook
Sunny

Humidity
High
No

Overcast

Rain

Yes

Normal
Yes

Wind
Strong
No

Weak
Yes

Exemple Jouer au tennis ?


Outlook
Sunny

No

Rain

Chaque noeud interne teste un attribut

Humidity
High

Overcast

Normal
Yes

Chaque branche correspond une


valeur de lattribut
Chaque feuille reprsente une classe

Arbres de dcision Exemple


Risque - Assurances
Tid

Age

Car Type

Class

23

Family

High

17

Sports

High

43

Sports

High

68

Family

Low

32

Truck

Low

20

Family

High

Numrique

Enumratif

Age < 27.5

CarType {Sports}

High

High

Low

Age=40, CarType=Family Class=Low

Des arbres de dcision aux rgles

Age < 27.5

1) Age < 27.5 High


CarType {Sports}

2) Age >= 27.5 and


CarType = Sports High

High

3) Age >= 27.5 and


CarType Sports High
High

Low

Arbres de dcision Exemple


Dtection de fraudes fiscales
tif
tif
ue
a
a
q
r
r
i

r
se
m
m
s
m
u
u
a
nu
n
n
cl
Id

10

Attributs significatifs
Ristourne
Oui

Non

Ristourne Situation Impt


famille
revenu

Fraude

Oui

Clibat.

125K

Non

Clibat, Divorc

Non

Mari

100K

Non

Impt

Non

Clibat.

70K

Non

Oui

Mari

120K

Non

Non

Divorc

95K

Oui

Non

Mari

60K

Non

Oui

Divorc

220K

Non

Non

Clibat.

85K

Oui

Non

Mari

75K

Non

10

Non

Clibat.

90K

Oui

Non

Situation

< 80K
Non

Mari
Non

>= 80K
Oui

Lattribut significatif un noeud est


dtermin en se basant sur lindice
Gini.
Pour classer une instance : descendre
dans larbre selon les rponses aux
diffrents tests. Ex = (Ristourne=Non,
Situation=Divorc, Impt=100K) Oui

De larbre de dcision aux rgles


de classification
outlook
sunny

humidity
high
N

overcast
P

normal
P

rain
windy

true
N

false
P

Si outlook=sunny
Et humidity=normal
Alors play tennis

une rgle est gnre pour


chaque chemin de larbre (de
la racine une feuille)
Les paires attribut-valeur
dun chemin forment une
conjonction
Le noeud terminal
reprsente la classe prdite
Les rgles sont
gnralement plus faciles
comprendre que les arbres

Des arbres de dcision aux rgles


Arbre de dcision = Systme de rgles exhaustives et
mutuellement exclusives
1) Ristourne = Oui Non
Ristourne
Oui

2) Ristourne = Non et
Situation in {Clibat., Divorc}
et Impt < 80K Non

Non

Non

Situation
Clibat., Divorc
Impt

< 80K
Non

Mari
Non

>= 80K
Oui

3) Ristourne = Non et
Situation in {Clibat., Divorc}
et Impt >= 80K Oui
4) Ristourne = Non et
Situation in {Mari} Non

Des arbres de dcision aux rgles


Outlook
Sunny
Humidity
High
No
R1:
R2:
R3:
R4:
R5:

If
If
If
If
If

Overcast

Rain

Yes

Normal
Yes

Wind
Strong
No

Weak
Yes

(Outlook=Sunny) (Humidity=High) Then PlayTennis=No


(Outlook=Sunny) (Humidity=Normal) Then PlayTennis=Yes
(Outlook=Overcast) Then PlayTennis=Yes
(Outlook=Rain) (Wind=Strong) Then PlayTennis=No
(Outlook=Rain) (Wind=Weak) Then PlayTennis=Yes

Gnration de larbre de dcision


Deux phases dans la gnration de
larbre :
Construction de larbre
Arbre peut atteindre une taille
leve
Elaguer larbre (Pruning)
Identifier et supprimer les
branches qui reprsentent du
bruit Amliorer le taux
derreur

Algorithmes de classification
Construction de larbre
Au dpart, toutes les instances dapprentissage
sont la racine de larbre
Slectionner un attribut et choisir un test de
sparation (split) sur lattribut, qui spare le
mieux les instances.
La slection des attributs est base sur une
heuristique ou une mesure statistique.
Partitionner les instances entre les noeuds fils
suivant la satisfaction des tests logiques

Algorithmes de classification
Traiter chaque noeud fils de faon rcursive
Rpter jusqu ce que tous les noeuds soient des
terminaux. Un noeud courant est terminal si :
Il ny a plus dattributs disponibles
Le noeud est pur, i.e. toutes les instances
appartiennent une seule classe,
Le noeud est presque pur, i.e. la majorit des instances
appartiennent une seule classe (Ex : 95%)
Nombre minimun dinstances par branche (Ex :
algorithme C5 vite la croissance de larbre, k=2 par
dfaut)

Etiqueter le noeud terminal par la classe


majoritaire

Algorithmes de classification
Elaguer larbre obtenu (pruning)
Supprimer les sous-arbres qui namliorent pas
lerreur de la classification (accuracy) arbre
ayant un meilleur pouvoir de gnralisation,
mme si on augmente lerreur sur lensemble
dapprentissage
Eviter le problme de sur-spcialisation (overfitting), i.e., on a appris par coeur lensemble
dapprentissage, mais on nest pas capable de
gnraliser

Sur-spcialisation - arbre de
dcision
Larbre gnr peut surspcialiser lensemble
dapprentissage
Plusieurs branches
Taux derreur important pour les
instances inconnues
Raisons de la sur-spcialisation
bruits et exceptions
Peu de donne dapprentissage
Maxima locaux dans la recherche
gloutonne

Overfitting dans les arbres de dcision

Comment viter loverfitting ?

Deux approches :

Pr-lagage : Arrter de
faon prmature la
construction de larbre

Post-lagage : Supprimer des


branches de larbre complet
(fully grown)
Convertir larbre en rgles ;
laguer les rgles de faon
indpendante (C4.5)

Construction de larbre Synthse


Evaluation des diffrents branchements pour
tous les attributs
Slection du meilleur branchement et de
lattribut gagnant
Partitionner les donnes entre les fils
Construction en largeur (C4.5) ou en profondeur
(SPLIT)
Questions critiques :
Formulation des tests de branchement
Mesure de slection des attributes

Exemple : Jouer au tennis ?

Ensemble
dapprentissage

Outlook
sunny
sunny
overcast
rain
rain
rain
overcast
sunny
sunny
rain
sunny
overcast
overcast
rain

Temperature
hot
hot
hot
mild
cool
cool
cool
mild
cool
mild
mild
mild
hot
mild

Humidity
high
high
high
high
normal
normal
normal
high
normal
normal
normal
high
normal
high

Windy Class
false
N
true
N
false
P
false
P
false
P
true
N
true
P
false
N
false
P
false
P
true
P
true
P
false
P
true
N

Arbre de dcision obtenu avec


ID3 (Quinlan 86)
Outlook
Sunny

Humidity
High
No

Overcast

Rain

Yes

Normal
Yes

Wind
Strong
No

Weak
Yes

Arbre de dcision obtenu avec


ID3 (Quinlan 86)
Outlook Temperature Humidity Wind PlayTennis
Sunny
Hot
High Weak
?No
Outlook
Sunny
Humidity
High
No

Overcast

Rain

Yes

Normal
Yes

Wind
Strong
No

Weak
Yes

Arbre de dcision et conjonction


Outlook=Sunny Wind=Weak
Outlook
Sunny

Wind
Strong
No

Overcast

No
Weak
Yes

Rain

No

Arbre de dcision et disjonction


Outlook=Sunny Wind=Weak
Outlook
Sunny
Yes

Overcast

Rain

Wind
Strong
No

Wind
Weak
Yes

Strong
No

Weak
Yes

Arbre de dcision et XOR


Outlook=Sunny XOR Wind=Weak
Outlook
Sunny

Wind
Strong
Yes

Overcast

Rain

Wind
Weak
No

Strong
No

Wind
Weak
Yes

Strong
No

Weak
Yes

Arbre de dcision et conjonction


arbre de dcision reprsente des disjonctions de conjonctions
Outlook
Sunny
Humidity
High
No

Overcast

Rain

Yes

Normal
Yes

Wind
Strong
No

(Outlook=Sunny Humidity=Normal)

(Outlook=Overcast)

(Outlook=Rain Wind=Weak)

Weak
Yes

Algorithmes pour les arbres de


dcision
Algorithme de base
Construction rcursive dun arbre de
manire diviser-pour-rgner descendante
Attributs considrs numratifs
Glouton (pig par les optima locaux)
Plusieurs variantes : ID3, C4.5, CART, CHAID
Diffrence principale : mesure de slection
dun attribut critre de branchement
(split)

Mesures de slection dattributs

Gain dInformation (ID3,


C4.5)
Indice Gini (CART)
Table de contingence
statistique 2 (CHAID)
G-statistic

Bonne slection et branchement ?


CarType

Low Risk
High Risk

Sports
< 25

Age

Gain dinformation
Slectionner lattribut avec le plus grand gain
dinformation
Soient P et N deux classes et S un ensemble
dinstances avec p lments de P et n lments
de N
Linformation ncessaire pour dterminer si
une instance prise au hasard fait partie de P
ou N est (entropie) :
I ( p, n) =

p
p
n
n
log 2

log 2
p+n
p+n p+n
p+n

Entropie

S est lensemble dapprentissage


p+ est la proportion dexemples positifs (P)
p- est la proportion dexemples ngatifs (N)
Entropie mesure limpuret de S
Entropie(S) = -p+ log2 p+ - p- log2 p-

Gain dinformation
Soient les ensembles {S1, S2 , , Sv} formant une
partition de lensemble S, en utilisant lattribut A
Toute partition Si contient pi instances de P et ni
instances de N
Lentropie,
Lentropie ou linformation ncessaire pour classifier
les instances dans les sous-arbres Si est :
p +n
E ( A) = i i I ( pi , ni )
i =1 p + n
Le gain dinformation par rapport au branchement sur
A est
Gain ( A ) = I ( p , n ) E ( A )
Choisir lattribut qui maximise le gain besoin
dinformation minimal

Gain dinformation - Exemple


Hypothses :

Classe P : jouer_tennis =
oui
Classe N : jouer_tennis =
non
Information ncessaire
pour classer un exemple
donn est :
I ( p, n) = I (9,5) = 0.940

Gain dinformation - Exemple


Calculer lentropie pour
lattribut outlook :

On a
Alors

E (outlook ) =

outlook
sunny
overcast
rain

pi
2
4
3

ni I(pi, ni)
3 0,971
0 0
2 0,971

5
4
5
I ( 2,3) + I ( 4,0) + I (3,2) = 0.694
14
14
14

Gain (outlook ) = I (9,5) E (outlook ) = 0.246

De manire similaire

Gain (temperatur e) = 0.029


Gain ( humidity ) = 0.151
Gain ( windy ) = 0.048

Quel Attribut est meilleur ?


[29+,35-] A1=?

True

[21+, 5-]

A2=? [29+,35-]

False

[8+, 30-]

True
[18+, 33-]

False

[11+, 2-]

Gain dinformation - Exemple


Gain(S,A) : rduction attendue de lentropie de
au branchement de S sur lattribut A
Gain(S,A)=Entropie(S) - vvalues(A) |Sv|/|S| Entropie(Sv)
Entropie([29+,35-]) = -29/64 log2 29/64 35/64 log2 35/64
= 0.99
[29+,35-] A1=?
True
[21+, 5-]

A2=? [29+,35-]

False
[8+, 30-]

True
[18+, 33-]

False
[11+, 2-]

Gain dinformation - Exemple


Entropie([18+,33-]) = 0.94
Entropie([21+,5-]) = 0.71
Entropie([8+,30-]) = 0.62
Entropie([8+,30-]) = 0.74
Gain(S,A2)=Entropie(S)
Gain(S,A1)=Entropie(S)
-51/64*Entropie([18+,33-])
-26/64*Entropie([21+,5-])
-38/64*Entropie([8+,30-]) -13/64*Entropie([11+,2-])
=0.12
=0.27
[29+,35-] A1=?
True
[21+, 5-]

A2=? [29+,35-]

False
[8+, 30-]

True
[18+, 33-]

False
[11+, 2-]

Exemple dapprentissage
Day
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14

Outlook
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain

Temp.
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cold
Mild
Mild
Mild
Hot
Mild

Humidit
y
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
High

Wind
Weak
Strong
Weak
Weak
Weak
Strong
Weak
Weak
Weak
Strong
Strong
Strong
Weak
Strong

Play Tennis
No
No
Yes
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
No

Slection de lattribut suivant


S=[9+,5-]
E=0.940

S=[9+,5-]
E=0.940

Humidity

Wind

High
[3+, 4-]
E=0.985

Normal
[6+, 1-]
E=0.592

Gain(S,Humidity)
=0.940-(7/14)*0.985
(7/14)*0.592
=0.151

Weak
[6+, 2-]

Strong
[3+, 3-]

E=0.811
E=1.0
Gain(S,Wind)
=0.940-(8/14)*0.811
(6/14)*1.0
=0.048

Slection de lattribut suivant


S=[9+,5-]
E=0.940
Outlook
Sunny

Over
cast

Rain

[2+, 3-]

[4+, 0]

[3+, 2-]

E=0.971

E=0.0

E=0.971

Gain(S,Outlook)
=0.940-(5/14)*0.971
-(4/14)*0.0 (5/14)*0.0971
=0.247

Algorithme ID3
[D1,D2,,D14]
[9+,5-]

Outlook

Sunny

Overcast

Rain

Ssunny=[D1,D2,D8,D9,D11] [D3,D7,D12,D13] [D4,D5,D6,D10,D14]


[2+,3-]
[4+,0-]
[3+,2-]
?

Yes

Gain(Ssunny , Humidity)=0.970-(3/5)0.0 2/5(0.0) = 0.970


Gain(Ssunny , Temp.)=0.970-(2/5)0.0 2/5(1.0)-(1/5)0.0 = 0.570
Gain(Ssunny , Wind)=0.970= -(2/5)1.0 3/5(0.918) = 0.019

Algorithme ID3
Outlook
Sunny
Humidity
High
No
[D1,D2]

Overcast

Rain

Yes
[D3,D7,D12,D13]

Normal
Yes
[D8,D9,D11]

Wind
Strong

Weak

No

Yes

[D6,D14]

[D4,D5,D10]

Indice Gini
Utiliser lindice Gini pour un partitionnement pur
c

Gini ( S ) = 1 pi2
i =1

Gini ( S1 , S 2 ) =

n1
n
Gini ( S1 ) + 2 Gini ( S 2 )
n
n

pi est la frquence relative de la classe c dans S

Si S est pur (classe unique), Gini(S) = 0


Gini(S1,S2) = Gini pour une partition de S en deux sousensembles S1 et S2 selon un test donn.
Trouver le branchement (split-point) qui minimise
lindice Gini
Ncessite seulement les distributions de classes

Indice Gini - Exemple


Fraude
Pas fraude

Situation famille

Situation famille

Revenu

Revenu

Calcul de Gini ncessite une Matrice de dnombrement


Non Oui

Non Oui

<80K

14

23

>80K

18

10

Gini(split) = 0.31

Gini(split) = 0.34

Attributs numratifs indice GINI


Pour chaque valeur distincte, calculer le nombre
dinstances de chaque classe
Utiliser la matrice de dnombrement pour la prise
de dcision
Partage en plusieurs
classes

Partage en deux classes


(trouver la meilleure partition de valeurs)

CarType
C1
C2
Gini

Family Sports Luxury


1
2
1
4
1
1
0.393

C1
C2
Gini

CarType
{Sports,
{Family}
Luxury}
3
1
2
4
0.400

C1
C2
Gini

CarType
{Family,
{Sports}
Luxury}
2
2
1
5
0.419

Attributs numriques indice GINI


calcul efficace : pour chaque attribut,

Trier les instances selon la valeur de lattribut


Entre chaque valeur de cette liste : un test possible (split)
Evaluation de Gini pour chacun des test
Choisir le split qui minimise lindice gini
Fraude

No

No

No

Yes

Yes

Yes

No

No

No

No

100

120

125

220

Revenu imposable

Valeurs tries

60

70

55

Positions Split

75

65

85

72

90

80

95

87

92

97

110

122

172

230

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

Yes

No

Gini

0.420

0.400

0.375

0.343

0.417

0.400

0.300

0.343

0.375

0.400

0.420

Mthodes base darbres de


dcision
CART (BFO80 - Classification and
regression trees, variables numriques,
Gini, Elagage ascendant)
C5 (Quinlan93 - dernire version ID3 et
C4.5, attributs darit quelconque,
entropie et gain dinformation)
SLIQ (EDBT96 Mehta et al. IBM)
SPRINT (VLDB96J. Shafer et al. IBM)
PUBLIC (VLDB98 Rastogi & Shim)
RainForest (VLDB98 Gehrke,
Ramakrishnan & Ganti)
CHAID (Chi-square Automation
Interaction Detection variables
discrtes)

Arbres de dcision - Avantages


Comprhensible pour tout utilisateur
(lisibilit du rsultat rgles - arbre)
Justification de la classification dune
instance (racine feuille)
Tout type de donnes
Robuste au bruit et aux valeurs manquantes
Attributs apparaissent dans lordre de
pertinence tche de pr-traitement
(slection dattributs)
Classification rapide (parcours dun chemin
dans un arbre)
Outils disponibles dans la plupart des
environnements de data mining

Arbres de dcision - Inconvnients


Sensibles au nombre de
classes : performances se
dgradent
Evolutivit dans le temps :
si les donnes voluent
dans le temps, il est
ncessaire de relance la
phase dapprentissage

Rseaux de neurones

Rseau neuronal : simule le systme nerveux biologique


Un rseau de neurones est compos de plusieurs
neurones interconnects. Un poids est associ chaque
arc. A chaque neurone on associe une valeur.

Temps de switch dun


neurone > 10-3 secs
Nombre de neurones
(humain) ~1010
Connexions (synapses)
par neurone : ~104105

Neurone ou perceptron

Neurone = Unit de calcul lmentaire


Le vecteur dentre X est transform en une variable de sortie y,
par un produit scalaire et une fonction de transformation non
linaire
X0
X1
Xn
Vecteur
entre X

w0
w1

Sortie y

wn
Vecteur
Somme
poids w
pondre
(coefficients
Synaptiques)

Fonction
dactivation

Neurone ou perceptron
Linear treshold unit (LTU)
x1
x2

.
.
.

xn

w1
w2
wn

x0=1
w0

i=0n wi xi
o(xi)=

1 si i=0n wi xi >0
-1 sinon

Neurone

Fonction dactivation la plus utilise est la fonction sigmoide

(x)= 1
1+e

Elle prend ses valeurs (entre et sortie) dans lintervalle [0,1]


1

Rseaux de neurones

Capacit d apprentissage : apprendre et changer son


comportement en fonction de toute nouvelle
exprience.
Permettent de dcouvrir automatiquement des
modles complexes.
Plusieurs modles de rseaux de neurones : PMC
(Perceptron Multi-Couches), RBF (Radial Basis
Function), Kohonen, ...

Perceptron Multi Couches (PMC)


Vecteur sortie

Couche sortie

Calculs effectus des entres


vers les sorties

Plusieurs
Couches
caches
Couche
entre

Graphe complet

Vecteur entre

Paradigme dapprentissage
Vecteur sortie

Classification : Ajuster les poids


en utilisant lerreur

Erreur = Valeur dsire Valeur


actuelle
Vecteur entre

Algorithmes dapprentissage

Rtro-propagation du gradient (Back


propagation)

Kohonen

RBF (Radial basis function)

Rseaux de neurones probabilistes

ART (Adaptive resonance theory)

Rtro-propagation du gradient
Principales tapes

Construction du rseau
Reprsentation des entres
Nombre de couches, nombre de noeuds dans chaque
couche
Apprentissage du rseau utilisant les donnes
disponibles
Elagage du rseau
Interprtation des rsultats

Construction du rseau

Nombre de noeuds en entre : correspond la


dimension des donnes du problme (attributs ou
leurs codages).

Normaliser dans lintervalle [0,1].


Exemple numratif : Attribut A prenant ses valeurs
{1,2,3,4,5}
5 entres valeurs binaires ; 3 = 00100
3 bits ; 3 = 010
1 entre relle ; 0, 0.25, 0.5, 0.75, 1

Construction du rseau

Nombre de couches caches : Ajuster pendant


lapprentissage.
Nombre de nuds par couche : Le nombre de nuds
par couche est au moins gal deux et au plus gal au
nombre de nuds en entre
Nombre de nuds en sortie : fonction du nombre de
classes associes lapplication.
Rseau riche pouvoir dexpression grand (Ex. 4-2-1
est moins puissant que 4-4-1)
Attention : Choisir une architecture riche mais pas
trop Problme de sur-spcialisation

Apprentissage du rseau

Objectif principal : obtenir un ensemble de poids qui


font que la plupart des instances de lensemble
dapprentissage sont correctement classes.
Etapes :

Poids initiaux sont gnrs alatoirement


Les vecteurs en entre sont traits en squentiel par le
rseau
Calcul des valeurs dactivation des nuds cachs
Calcul du vecteur de sortie
Calcul de lerreur (sortie dsire sortie actuelle).

(d(x)a(x))

e(PMC)= 1
2 xS

d(x) : sortie dsire, a(x) : sortie actuelle

Apprentissage du rseau

Les poids sont mis jour en utilisant lerreur. Le nombre


dinstances qui sont passs dans le rseau avant la mise
jour des poids est un paramtre (entre 1
convergence rapide et minimum local - et m
convergence lente -).
Rtro propagation laide de la mthode de gradient. Le
paramtre taux dapprentissage [0,1] influe sur la
modification des poids.
Valeur grande : modification forte ; Valeur petite :
modification minime

Apprentissage du rseau
wi = wi + wi
wi = (t - o) xi
t=c(x) est la valeur dsire
o est la sortie obtenue
est le taux dapprentissage (e.g 0.1)

Critre darrt : la tolrance dfinit lerreur cible.


et/ou Nombre dinstances bien classes (seuil)

Apprentissage du rseau

(w1,w2)

(w1+w1,w2 +w2)

Elagage du rseau

Rseau fortement connexe est difficile articuler


N nuds en entre, h couches caches, et m nuds
en sortie h(m+n) arcs (poids)
Elagage : Supprimer les arcs et les nuds qui
naffectent pas le taux derreur du rseau. Eviter le
problme de sur-spcialisation (over-fitting).
Ceci permet de gnrer des rgles concises et
comprhensibles.

Rseaux de neurones - Avantages


Taux derreur gnralement bon
Outil disponible dans les
environnements de data mining
Robustesse (bruit)
reconnaissance de formes (son,
images sur une rtine, )
Classification rapide (rseau
tant construit)
Combinaison avec dautres
mthodes (ex : arbre de dcision
pour slection dattributs)

Rseaux de neurones Inconvnients


Apprentissage trs long
Plusieurs paramtres
(architecture, coefficients
synaptiques, )
Pouvoir explicatif faible (boite
noire)
Pas facile dincorporer les
connaissances du domaine.
Traitent facilement les attributs
numriques et binaires
Evolutivit dans le temps (phase
dapprentissage)

Classification baysienne :
Pourquoi ? (1)
Apprentissage probabiliste :
calcul explicite de probabilits sur des
hypothses
Approche pratique pour certains types de
problmes dapprentissage
Incrmental :
Chaque instance dapprentissage peut de faon
incrmentale augmenter/diminuer la
probabilit quune hypothse est correcte
Des connaissances a priori peuvent tre
combines avec les donnes observes.

Classification baysienne :
Pourquoi ? (2)
Prdiction Probabiliste :
Prdit des hypothses multiples, pondres par
leurs probabilits.
Rfrence en terme dvaluation :
Mme si les mthodes baysiennes sont
coteuses en temps dexcution, elles peuvent
fournir des solutions optimales partir
desquelles les autres mthodes peuvent tre
values.

Classification baysienne

Le problme de classification peut tre formul


en utilisant les probabilits a-posteriori :
P(C|X) = probabilit que le tuple (instance)
X=<x1,,xk> est dans la classe C
Par exemple
=N | outlook=sunny,windy=true,)
P(classe
P(
Ide : affecter une instance X la classe C
telle que P(C|X) est maximale

Estimation des probabilits aposteriori

Thorme de Bayes :
P(C|X) = P(X|C)P(C) / P(X)
P(X) est une constante pour toutes les
classes
P(C) = frquence relative des
instances de la classe C
C tel que P(C|X) est maximal =
C tel que P(X|C)P(C) est maximal
Problme : calculer P(X|C) est non
faisable !

Classification baysienne naive


Hypothse Nave : indpendance des
attributs
P(x1,,xk|C) = P(x1|C)P(xk|C)
P(xi|C) est estime comme la frquence
relative des instances possdant la valeur
xi (i-me attribut) dans la classe C
Non coteux calculer dans les deux cas

Classification baysienne
Exemple (1)
Estimation de P(xi|C)

P(p) = 9/14
P(n) = 5/14

Outlook
P(sunny | p) = 2/9
P(overcast | p) = 4/9
P(rain | p) = 3/9
Temperature
P(hot | p) = 2/9
P(mild | p) = 4/9
P(cool | p) = 3/9

P(sunny | n) = 3/5
P(overcast | n) = 0
P(rain | n) = 2/5

Humidity
P(high | p) = 3/9
P(high | n) = 4/5
P(normal | p) = 6/9 P(normal | n) = 1/5

P(hot | n) = 2/5
P(mild | n) = 2/5
P(cool | n) = 1/5

Windy
P(true | p) = 3/9
P(false | p) = 6/9

P(true | n) = 3/5
P(false | n) = 2/5

Classification baysienne
Exemple (1)
Classification de X :
Une instance inconnue X = <rain, hot, high, false>
P(X|p)P(p) =
P(rain|p)P(hot|p)P(high|p)P(false|p)P(p) =
3/92/93/96/99/14 = 0.010582
P(X|n)P(n) =
P(rain|n)P(hot|n)P(high|n)P(false|n)P(n) =
2/52/54/52/55/14 = 0.018286
Instance X est classifie dans la classe n (ne pas

jouer)

Classification baysienne
lhypothse dindpendance

fait que le calcul est possible


trouve un modle de classification optimal si
hypothse satisfaite
mais est rarement satisfaite en pratique, tant
donn que les attributs (variables) sont souvent
corrls.
Pour liminer cette limitation :
Rseaux baysiens,
baysiens qui combinent le
raisonnement baysien et la relation causale
entre attributs
Arbres de dcision,
dcision qui traitent un attribut la
fois, considrant les attributs les plus importants
en premier

Etude de cas
Prdiction de structure de la
protine

Les protines
Une protine = squence dacides amins dfinie par un gne
et ayant une fonction spcifique dans la cellule

Building block of life


Les protines sont partout :
Protines enzymatiques (catalyse)
Protines de transport : hmoglobine (oxygne),
albumine (corps gras)
Protine messager : insuline
Protines rcepteur
Protines sriques : anticorps
Protines structurelles : collagne dans la peau,
kratine dans les cheveux,

Les protines
20 acides amins distincts, chaque acide amin tant
constitu de (jusqu) 18 atomes
Une squence protique est constitue de 50 2000
acides amins
3000 4000 protines dans une cellule
Une protine se replie en pelote , adoptant une
configuration spatiale caractristique de sa fonction

Les 20 Acides Amins

A
C
D
E
F
G
H
I
K
L

Ala Alanine
Cys Cysteine
Asp Aspartic
Glu Glutamic
Phe Phenylalanine
Gly Glycine
His Histidine
Ile Isoleucine
Lys Lysine
Leu Leucine

M
N
P
Q
R
S
T
V
W
Y

Met Methionine
Asn Asparagine
Pro Proline
Gln Glutamine
Arg Arginine
Ser Serine
Thr Threonine
Val Valine
Trp Tryptophan
Tyr Tyrosine

20 Lettres de lalphabet

Les structures
Structure primaire = ordre dans lequel sont
enchans les acides amins dans la molcule
Structure secondaire = rotation des atomes de la
chane peptidique les uns par rapport aux autres au
cours de la synthse de la chane
Structure tertiaire = rsultat de liaisons diverses
(hydrogne, hydrophobes, lectrostatiques,
covalentes,...) entre des acides amins de la mme
chane peptidique mais non voisins dans la
structure primaire

Structure primaire
O H

O H

O H

O H

O H

OH

OH

H3N+ CH C N CH C N CH C N CH C N CH C N CH C N CH C N CH COOCH2

CH2

COO-

CH2

CH
H3C CH3

CH2
NH

CH2

H C CH3

CH2 CH2 CH2

CH2

HC CH CH2

CH3

HN

CH2

N
CH

C
NH2

Asp
D

N +H 2

Arg
Val Tyr Ile
His Pro
R
V
Y
I
H
P
Squence de la protine : DRVYIHPF

Phe
F

Protein Folding Problem


Etant donn une squence primaire de la protine, ex.,
MDPNCSCAAAGDSCTCANSCTCLACKCTSCK,
prdire la structure secondaire et 3D.

Base de donnes
Structures prdites (connues) :
Protein Data Bank (PDB) (centaine de structures
non redondantes) [www.rcsb.org/pdb/]

Base de donnes de squences de protines :


Genbank (milliers de squences)
[www.ncbi.nlm.nih.gov/Genbank/GenbankSearch.html]

SWISSPROT
[www.ebi.ac.uk/swissprot]

Structure secondaire
Hlice

Feuillet parallle :
tous les segments
ont la mme
orientation
Feuillet antiparallle
Feuillet mixte

Structure secondaire
Hlice
Feuillet parallle :
tous les segments
ont la mme
orientation
Feuillet antiparallle
Feuillet mixte

Structure secondaire
Beta Hlice

Structure 3D
Permet de comprendre le mode d'action d'une
protine : activit enzymatique, interaction avec
d'autres protines (ligands, substrats, rcepteur,
pitope, etc.).

Structure primaire

Structure
secondaire / tertiaire

Rseaux de neurones
- Le processus neuronal de base traite des signaux
d'entre d'un ou plusieurs neurones et envoie un
signal de sortie un ou plusieurs (un 0 ou un 1)
- Le signal de sortie chaque neurone rcepteur est
pondr ces poids sont ajusts par entranement
du modle avec des squences de structures
connues
- Le programme donne une valuation de fiabilit de
chaque prvision base sur la force des signaux
dune hlice alpha, dun feuillet bta et dune
boucle
Rfrence : Rost B, Sander C (1994) Combining evolutionary
information and neural networks to predict protein
secondary structure. Proteins, 19, 55-72

Rseaux de neurones
Entre : structure
primaire
Sortie : indication sur
la structure
secondaire
Couche cache

Entre

Sortie
Efficacit > 70%

Hlice Feuillet Boucle


H
B
C

Plus proches voisins


Une liste de fragments courts de squence
est faite en glissant une fentre de
longueur n le long d'un ensemble
d'approximativement 100-400 squence
dentranement de structure connue mais
de similitude minimale
La structure secondaire de l'acide amin
central dans chaque fentre
dentranement est enregistre
Une fentre coulissante de mme taille est
alors choisi parmi la squence de requte

Plus proches voisins


La squence dans la fentre chaque position de la
squence demande est compare chacun des
fragments dentranement et les 50 meilleurs
fragments apparis sont identifis Ncessit
dune notion de distance
Les frquences de la structure secondaire connue
de l'acide amin du milieu dans chacun de ces
fragments apparis (H, B et C) sont alors employs
pour prvoir la structure secondaire de l'acide
amin du milieu de la fentre de requte
Des rgles ou un NN sont utilises pour faire la
prdiction finale pour chaque AA.

Liens Web - Logiciels

http://dot.imgen.bcm.tmc.edu:9331/seqsearch/struc-predict.html
http://jura.ebi.ac.uk:8888/jnet/
http://www.emblheidelberg.de/predictprotein/
http://cubic.bioc.columbia.edu/predictprot
ein

(B Rost: PHD: predicting one-dimensional protein

structure by profile based neural networks. Methods


in Enzymology, 266, 525-539, 1996 )

Autres mthodes de classification

Autres
mthodes

Rseaux baysiens
Algorithmes gntiques
Case-based reasoning
Ensembles flous
Rough set
Analyse discriminante
(Discriminant linaire de Fisher,

Algorithme Closest Class Mean CCM-)

Classification - Rsum
La classification est un
problme largement tudi
La classification, avec ses
nombreuses extensions,
est probablement la
technique la plus rpandue

Modles

Arbres de dcision
Rgles dinduction
Modles de rgression
Rseaux de neurones

Facile comprendre

Difficile comprendre

Classification - Rsum
Lextensibilit reste une
issue importante pour les
applications
Directions de recherche :
classification de donnes
non relationnels, e.x.,
texte, spatiales et
donnes multimdia

Classification - Rfrences
J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan
Kaufman, 1993.
J. R. Quinlan. Induction of decision trees. Machine Learning,
1:81-106, 1986.
L. Breiman, J. Friedman, R. Olshen, and C. Stone. Classification
and Regression Trees. Wadsworth International Group, 1984.
S. M. Weiss and C. A. Kulikowski. Computer Systems that Learn:
Classification and Prediction Methods from Statistics, Neural
Nets, Machine Learning, and Expert Systems. Morgan Kaufman,
1991.
D. E. Rumelhart, G. E. Hinton and R. J. Williams. Learning
internal representation by error propagation. In D. E. Rumelhart
and J. L. McClelland (eds.) Parallel Distributed Processing. The
MIT Press, 1986

Rgles
dassociation

Sommaire
Exemple : Panier de la
Sommaire

mnagre
Dfinitions
A-Priori
Algorithmes gntiques
Rsum

Exemple : Analyse du panier


de la mnagre
Dcouverte dassociations et de corrlations entre les
articles achets par les clients en analysant les achats
effectus (panier)
Lait, Oeufs, Sucre,
Pain

Lait, Oeufs, Crale, Lait

Client 1
Client 2

Oeufs, Sucre

Client 3

Exemple : Analyse du panier


de la mnagre
Etant donne :
Une base de donnes de transactions de clients, o chaque
transaction est reprsente par un ensemble darticles -set of items(ex., produits)

Trouver :
Groupes darticles (itemset) achets frquemment (ensemble)

Exemple : Analyse du panier


de la mnagre
Extraction dinformations sur le comportement
de clients

SI achat de riz + vin blanc ALORS achat de poisson (avec


une grande probabilit)

Intrt de linformation : peut suggrer ...

Disposition des produits dans le magasin


Quels produits mettre en promotion, gestion de stock,

Approche applicable dans dautres domaines

Cartes de crdit, e-commerce,


Services des compagnies de tlcommunication
Services bancaires
Traitements mdicaux,

Rgles dassociations
Recherche de rgles dassociation :
Dcouvrir des patterns, corrlations, associations
frquentes, partir densembles ditems contenus dans
des base de donnes.

Comprhensibles : Facile comprendre


Utiles : Aide la dcision
Efficaces : Algorithmes de recherche
Applications :
Analyse des achats de clients, Marketing, Accs Web,
Design de catalogue, Gnomique, etc.

Rgles dassociations
Formats de reprsentation des rgles
dassociation :

couches bire [0.5%, 60%]


achte:couches achte:bire [0.5%, 60%]
SI achte couches ALORS achte bire dans 60% de
cas. Les couches et la bire sont tous deux achets dans
0.5% des transactions de la base de donnes."

Autres reprsentations (utilise dans louvrage


de Han) :
achte(x, couches") achte(x, bire") [0.5%, 60%]

Rgles dassociations
couche

1
1
2
3

bire [0.5%, 60%]

SI achte couche,
ALORS achte bire,
dans 60% de cas,
dans 0.5% de la base"

Condition,
Condition partie gauche de la rgle
Consquence,
quence partie droite de la rgle
Support,
Support frquence (partie gauche et droite sont
prsentes ensemble dans la base)
4 Confiance (si partie gauche de la rgle est
vrifie, probabilit que la partie droite de la
rgle soit vrifie)

Rgles dassociations
Support :

% dinstances de la base vrifiant la rgle.

support(A B [ s, c ]) = p(AB) = support ({A,B})


Confiance :

% dinstances de la base vrifiant limplication

confiance(A B [ s, c ]) = p(B|A) = p(AB) / p(A) =


support({A,B}) / support({A})

Exemple
TID

Items

1
2
3
4
5

Pain, Lait
Bire, Couches, Pain, Oeufs
Bire, Coca, Couches, Lait
Bire, Pain, Couches, Lait
Coca, Pain, Couches, Lait

Rgle :

{Couches , Lait} s , Bire


s=

(Couches , Lait, Bire ) 2


= = 0. 4
Nombre total d' instances 5

X s , y

Support :

s=

( X y)
( s = P (X, y))
|T |

Confiance : = (X y) ( = P( y | X))
(X) |

(Couches, Lait, Bire)


= 0.66
(Couches, Lait) |

Rgles dassociations
Support minimum :
Elev

peu ditemsets frquents


peu de rgles valides qui ont t
souvent vrifies

Rduit

plusieurs rgles valides qui ont t


rarement vrifies

Confiance minimum :
Eleve

peu de rgles, mais toutes pratiquement


correctes

Rduite plusieurs rgles, plusieurs dentre elles sont


incertaines
Valeurs utilises : = 2 - 10 %,

= 70 - 90 %

Rgles dassociations
Etant donn : (1) un base de donnes de
transactions, (2) chaque transaction est un
ensemble darticles (items) achets
Transaction ID

100
200
400
500

Items achets

Itemset frquent

A,B,C
A,C
A,D
B,E,F

{A}
{B} et {C}
{D}, {E} et {F}
{A,C}

Support

3 ou 75%
2 ou 50%
1 ou 25%
2 ou 50%
Autres paires ditems max 25%

Trouver : toutes les rgles avec un support et une


confiance minimum donns
Si support min. 50% et confiance min. 50%, alors
A C [50%, 66.6%], C A [50%, 100%]

Recherche de rgles dassociation

Donnes d entre : liste d achats


Achat = liste d articles (longueur variable)
Produit Produit Produit Produit Produit
A
B
C
D
E
Achat 1

Achat 2

Achat 3

Achat 4

Achat 5

*
*

*
*
*

Recherche de rgles dassociation

Tableau de co-occurrence : combien de fois deux


produits ont t achets ensemble ?
Produit Produit Produit Produit Produit
E
A
B
C
D
Produit A

Produit B

Produit C

Produit D

Produit E

Illustration / Exemple

Rgle d association :
Si A alors B (rgle 1)
Si A alors D (rgle 2)
Si D alors A (rgle 3)
Supports :
Support(1)=20% ; Support(2)=Support(3)=40%
Confiances :
Confiance(2) = 50% ; Confiance(3) = 67%
On prfre la rgle 3 la rgle 2.

Description de la mthode

Support et confiance ne sont pas toujours suffisants


Ex : Soient les 3 articles A, B et C

article

frquence 45%

42,5% 40%

A et B

A et C

B et C

25%

20%

15%

Rgles 3 articles : mme support 5%


Confiance

Rgle : Si A et B alors C = 0.20


Rgle : Si A et C alors B = 0.25
Rgle : Si B et C alors A = 0.33

A, B et C
5%

Description de la mthode

Amlioration = confiance / frq(rsultat)


Comparer le rsultat de la prdiction en utilisant la
rgle avec la prdiction sans la rgle
Rgle intressante si Amlioration > 1
Rgle

Confiance F(rsultat) Amlioration

Si A et B alors C

0.20

40%

0.50

Si A et C alors B

0.25

42.5%

0.59

Si B et C alors A

0.33

45%

0.74

Rgle : Si A alors B ; support=25% ; confiance=55% ;


Amlioration = 1.31
Meilleure rgle

Recherche de rgles

Soient une liste de n articles et de m achats.


1. Calculer le nombre doccurrences de chaque article.
2. Calculer le tableau des co-occurrences pour les paires
d articles.
3. Dterminer les rgles de niveau 2 en utilisant les
valeurs de support, confiance et amlioration.
4. Calculer le tableau des co-occurrences pour les
triplets d articles.
5. Dterminer les rgles de niveau 3 en utilisant les
valeurs de support, confiance et amlioration
...

Complexit

Soient :

n : nombre de transactions dans la BD


m : Nombre dattributs (items) diffrents

Complexit

Nombre de rgles dassociation :


Complexit de calcul : (n.m.2m )

(m.2m 1 )

Rduction de la complexit

n de lordre du million (parcours de la liste ncessaire)


Taille des tableaux en fonction de m et du nombre d articles
prsents dans la rgle

2
3
n(n-1)/2 n(n-1)(n-2)/6

4
n(n-1)(n-2)(n-3)/24

100

4950

161 700

3 921 225

10000

5.107

1.7 1011

4.2 1014

Conclusion de la rgle restreinte un sous-ensemble de l ensemble


des articles vendus.
Exemple : articles nouvellement vendues.
Cration de groupes d articles (diffrents niveaux dabstraction).
Elagage par support minimum.

Illustration sur une BD commerciale


Attribut
Pain
Coca
Lait
Bire
Couches
Oeufs

Compteur
4
2
4
3
4
1

Attributs (1-itemsets)

Support Minimum = 3

Itemset
Compteur
{Pain,Lait}
3
{Pain,Bire}
2
{Pain,Couches}
3
{Lait,Bire}
2
{Lait,Couches}
3
{Bire,Couches}
3

Si tout sous-ensemble est considr,


C61 + C62 + C63 = 41
En considrant un seuil support min,
6 + 6 + 2 = 14

paires (2-itemsets)

Triplets (3-itemsets)
Itemset
{Pain,Lait,Couches}
{Lait,Couches,Bire}

Compteur
3
2

Lalgorithme Apriori [Agrawal93]

Deux tapes
Recherche des k-itemsets frquents
(supportMINSUP)

(Pain, Fromage, Vin) = 3-itemset


Principe : Les sous-itemsets dun k-itemset frquent
sont obligatoirement frquents

Construction des rgles partir des k-itemsets


trouvs

Une rgle frquente est retenue si et seulement si sa


confiance c MINCONF
Exemple : ABCD frquent
AB CD est retenue si sa confiance MINCONF

Recherche des k-itemsets frquents (1)

Exemple

I = {A, B, C, D, E, F}
T = {AB, ABCD, ABD, ABDF, ACDE, BCDF}

MINSUP = 1/2

Calcul de L1 (ensemble des 1-itemsets)

C1 = I = {A,B,C,D,E,F} // C1 : ensemble de 1-itemsets candidats


s(A) = s(B) = 5/6, s(C) = 3/6, s(D) = 5/6, s(E) = 1/6, s(F) = 2/6
L1 = {A, B, C, D}

Calcul de L2 (ensemble des 2-itemsets)

C2 = L1xL1 = {AB,AC, AD, BC, BD, CD}


s(AB) = 4/6, s(AC) = 2/6, s(AD) = 4/6, s(BC) = 2/6, s(BD) = 4/6,
s(CD) = 3/6
L2 = {AB,AD, BD, CD}

Recherche des k-itemsets frquents (2)

Calcul de L3 (ensemble des 3-itemsets)

C3 = {ABD} (ABC C3 car AC L2)


s(ABD) = 3/6
L3 = {ABD}

Calcul de L4 (ensemble des 4-itemsets)


C4 =
L4 =
Calcul de L (ensembles des itemsets frquents)

L = Li = {A, B, C, D, AB, AD, BD, CD, ABD}

Lalgorithme Apriori
L1 = {1-itemsets frquents};
for (k=2; Lk-1 ; k++) do
Ck = apriori_gen(Lk-1);
forall instances tT do
Ct = subset(Ck,t);
forall candidats c Ct do
c.count++;
Lk = { c Ck / c.count MINSUP }
L = iLi;

La procdure Apriori_gen
{ Jointure Lk-1 * Lk-1 ; k-2 lments communs}
insert into Ck;
select p.item1, p.item2, , p.itemk-1, q.itemk-1
from Lk-1p, Lk-1q
where p.item1=q.item1, , p.itemk-2=q.itemk-2
, p.itemk-1< q.itemk-1
forall itemsets c Ck do
forall (k-1)-itemsets sc do
if sLk-1 then
delete c from Ck;

Apriori - Exemple
Base de
donnes D
TID
100
200
300
400

Items
134
235
1235
25

C1
itemset sup.
{1}
2
3
Scan D {2}
{3}
3
{4}
1
{5}
3

L1
itemset sup.
{1}
2
{2}
3
{3}
3
{5}
3

Apriori - Exemple

C2

C2

itemset
itemset sup
{1 2}
{1 2}
1
{1 3}
{1 3}
2
Scan
D
{1 5}
1
{1 5}
{2 3}
2
{2 3}
{2 5}
3
{2 5}
{3 5}
2
{3 5}

L2
itemset
{1 3}
{2 3}
{2 5}
{3 5}

sup
2
2
3
2

Apriori - Exemple

C3

itemset
{2 3 5}

L3

Scan D

itemset sup
{2 3 5} 2

Apriori - Exemple
Espace de
recherche

12345
1234 1235 1245 1345

123 124
12

13

2345

125 134 135 145 234 235 245 345


14
1

15
2

23

24
3

25
4

34
5

35

45

Apriori - Exemple
Apriori
au Niveau 1

12345
1234 1235 1245 1345

123 124
12

13

2345

125 134 135 145 234 235 245 345


14
1

15
2

23

24
3

25
4

34
5

35

45

Apriori - Exemple
Apriori
au niveau 2

12345
1234 1235 1245 1345

123 124
12

13

2345

125 134 135 145 234 235 245 345


14
1

15
2

23

24
3

25
4

34
5

35

45

Gnration des rgles partir des itemsets


Pseudo-code :
pour chaque itemset frquent l
gnrer tous les sous-itemsets non vides s de l
pour chaque sous-itemset non vide s de l
produire la rgle "s (l-s)" si
support(l)/support(s) min_conf", o min_conf est la
confiance minimale
Exemple : itemset frquent l = {abc},
Sous-itemsets s = {a, b, c, ab, ac, bc)
a bc, b ac, c ab
ab c, ac b, bc a

Gnration des rgles partir des itemsets


Rgle 1 mmoriser :
La gnration des itemsets frquents est une opration
coteuse
La gnration des rgles dassociation partir des itemsets
frquents est rapide

Rgle 2 mmoriser :
Pour la gnration des itemsets, le seuil support est utilis.
Pour la gnration des rgles dassociation, le seuil confiance
est utilis.

Complexit en pratique ?
A partir dun exemple rel (petite taille)
Expriences ralises sur un serveur Alpha Citum 4/275 avec
512 MB de RAM & Red Hat Linux release 5.0 (kernel 2.0.30)

Exemple de performances
Network
NetworkManagement
ManagementSystem
System
MSC
MSC

MSC
MSC

BSC
BSC

BSC
BSC

BSC
BSC

BTS
BTS

BTS
BTS

BTS
BTS

Alarms
Alarms

MSC
MSC

Rseau switch

Rseau daccs
MSC
MSC Mobile station controller
BSC
BSC Base station controller
BTS
BTS Base station transceiver

Rseau cellulaire

Exemple de performances
Donnes tlcom contenant des alarmes :

1234 EL1 PCM 940926082623 A1 ALARMTEXT..


Alarm type
Date, time
Alarming network element
Alarm number

Alarm severity class

Exemple de donnes 1 :
43 478 alarmes (26.9.94 - 5.10.94; ~ 10 jours)
2 234 diffrent types dalarmes, 23 attributs, 5503 diffrentes
valeurs

Exemple de donnes 2 :
73 679 alarmes (1.2.95 - 22.3.95; ~ 7 semaines)
287 diffrent types dalarmes, 19 attributs, 3411 diffrentes
valeurs

Exemple de performances
Ensemble donnes 1 (~10 jours)

Ensemble donnes 2 (~7 semaines)

Exemple de rgles :
alarm_number=1234, alarm_type=PCM alarm_severity=A1 [2%,45%]

Exemple de performances
Exemple de rsultats pour les donnes 1 :

Seuil de frquence :
Itemsets candidats :
Itemsets frquents :
Rgles :

0.1
109 719
79 311
3 750 000

Temps:
12.02 s
Temps: 64 855.73 s
Temps:
860.60 s

Exemple de rsultats pour les donnes 2 :

Seuil de frquence :
Itemsets candidats :
Itemsets frquents :
Rgles :

0.1
43 600
13 321
509 075

Temps:
1.70 s
Temps: 10 478.93 s
Temps:
143.35 s

Apriori - Complexit
Phase coteuse : Gnration des candidats
Ensemble des candidats de grande taille :
104 1-itemset frquents gnrent 107 candidats pour les 2itemsets
Pour trouver un itemset de taille 100, e.x., {a1, a2, , a100},
on doit gnrer 2100 1030 candidats.
Multiple scans de la base de donnes :
Besoin de (n +1 ) scans, n est la longueur de litemset le plus
long

Apriori - Complexit
En pratique :

Pour lalgorithme Apriori basique, le nombre dattributs est


gnralement plus critique que le nombre de transactions
Par exemple :
50 attributs chacun possdant 1-3 valeurs, 100.000 transactions
(not very bad)
50 attributs chacun possdant 10-100 valeurs, 100.000 transactions
(quite bad)
10.000 attributs chacun possdant 5-10 valeurs, 100 transactions
(very bad...)

Notons :
Un attribut peut avoir plusieurs valeurs diffrentes
Les algorithmes traitent chaque paire attribut-valeur comme un
attribut (2 attributs avec 5 valeurs 10 attributs

Quelques pistes pour rsoudre le problme

Apriori Rduction de la complexit


Suppression de transactions :

Une transaction qui ne contient pas de k-itemsets


frquents est inutile traiter dans les parcours (scan)
suivants.

Partitionnement :

Tout itemset qui est potentiellement frquent dans une


BD doit tre potentiellement frquent dans au moins une
des partitions de la BD.

Echantillonage :

Extraction partir dun sous-ensemble de donnes,


dcroitre le seuil support

Apriori - Avantages

Rsultats clairs : rgles faciles


interprter.
Simplicit de la mthode
Aucune hypothse pralable
(Apprentissage non supervis)
Introduction du temps : mthode facile
adapter aux sries temporelles. Ex :
Un client ayant achet le produit A est
susceptible d acheter le produit B dans
deux ans.

Apriori - Inconvnients

Cot de la mthode : mthode


coteuse en temps
Qualit des rgles : production dun
nombre important de rgles triviales
ou inutiles.
Articles rares : mthode non
efficace pour les articles rares.
Adapt aux rgles binaires
Apriori amlior

Variantes de Apriori : DHP, DIC, etc.


Partition [Savasere et al. 1995]
Eclat et Clique [Zaki et al. 1997]

Typologie des rgles

Rgles dassociation binaires

Forme : if C then P.

Rgles dassociation quantitatives

Forme : if C then P

C = terme1 & terme2 & & termen


P = termen+1
termei = <attributj, op, valeur> ou <attributj, op,
valeur_de, valeur_a>

Classes : valeurs de P
Exemple : if ((Age>30) & (situation=mari)) then prt=prioritaire

Rgles de classification gnralise

C,P : ensembles dobjets

Forme : if C then P, P=p1, p2, , pm

etc.

P: attribut but

Classification gnralise
par Algorithmes
Gntiques

Problmatique
Q Dcouvrir dans une large BD quelques

rgles intressantes Si C Alors P

petites

C = terme1 & terme2 ... & termen (nMAXTERM)


termei =1..n <attribut=valeur> / valeur est numratif

P = terme <attribut but=valeur>


attribut but GoalsSet (dfini par lutilisateur)

Q Exemple : SI (Situation=Single) and (Age=Young) THEN


(Recommandation=Very_recommand)

Les algorithmes gntiques


J. Holland (1975)
Principes
Codage des solutions
Oprateurs

Population

Gnration
suivante

Slection
Croisement (Crossover)
Mutation

Slection
Parents
Elitisme

Mutation
Croisement

Enfants

Situation
Single

Age
Young

Lalgorithme Gntique

Recommandation
Very_recommand

Sous-population 1

C11

...

P1

C1N P1

Suppression
Crossover
Mutation
Remplacement

Sous-population K

Ck1

...

petites

...

Pk

CkN Pk

rgles Suppression
Crossover
Mutation

Remplacement

quelques rgles
intressantes
Evaluation

Evaluation

(Fitness function)

(Fitness function)

BD

Fitness (Intrt dune rgle)


C
G ( Rule ) =
b . log( ab )
N

[Wang et al. 98]

C & P
P
a =
,b =
N
C

1 .G ( Rule
F ( Rule ) =

pu

) + 2.
t

1+

[Freitas 99]

Oprateurs gntiques : Crossover (1)


Deux parents P1 et P2 ont un ou plusieurs
attributs commun(s) dans leurs parties C
Slection alatoire dun terme
Permutation de leurs valeurs

Exemple :

P1 : (Marital_status=married) (Gender=male)
P2 : (Marital_status= single) (Salary=high)
Enfant1 : (Marital_status=single) (Gender=male).
Enfant2 : (Marital_status=married) (Salary=high).

Oprateurs gntiques : Crossover (2)


P1,P2 nont aucun attribut commun dans C
Slection alatoire dun terme dans P1
Insertion dans P2
Proba = (MAXTERM - K)/MAXTERM
K: Nombre de termes dans la partie C de P2

Vice versa

Exemple :

P1 : (Marital_status=married) (Gender=male)
P2 : (Age = young) (Salary=high)
E1 : (Marital_status=married) (Gender=male) (Age=young)
E2 : (Marital_status=married) (Salary=high)

(Gender=male)

Oprateurs gntiques : Mutation (1)


Deux types de mutation
Mutation dattributs
Mutation de valeurs dattributs

Le type de mutation est choisi alatoirement


Mutation dattribut
Remplacement dun attribut par un autre (choix alatoire)
La valeur du nouvel attribut est choisie alatoirement
Exemple :
P : (Marital_status=married) (Gender=male)
Enfant : (Age=young) (Gender=male)

Oprateurs gntiques : Mutation (2)


Mutation de valeur dattribut
Slection dun attribut alatoirement
Remplacement de sa valeur par une autre choisie
alatoirement

Exemple :

Parent : (Marital_status=married) (Gender=male)


Enfant : (Marital_status=single) (Gender=male)

Oprateurs gntiques : Suppression

Suppression de termes

But : rgles plus faciles comprendre (petites)


Suppression dun terme choisi alatoirement avec
une probabilit proportionnelle sa longueur
Exemple :
P : (Marital_status=married) (Gender=male)

(Age=young)
E : (Marital_status=married) (Gender=male)

Application
BD : Nursery school
Q

From http://www.ics.uci.edu/AI/ML/Machine-Learning.html

12960 data instances with 9 attributes


Attribute name
Parents
Has_nurs
Form
Children
Housing
Finance
Social
Health
Recommendation

1
2
3
4
5
6
7
8
9

Attribute values
Usual, pretentious, great_pret
Proper, less_proper, improper, critical, very_crit
Complete, completed, incomplete, foster
1, 2, 3, more
Convenient, less_conv, critical
Convenient, inconv
Nonprob, slightly_prob, problematic
Recommended, priority, not_recom
Recommend, priority, not_recom, very_recom

Hardware platform
Q

SGI/IRIX (100MHz R4600,


32MB RAM, 549MB disque)

Paramtres de lAG
3 attributs buts
Q MAXTERM=5
Q 150 individus /3 sous-populations
Q

Evaluation exprimentale (1)


Publication
N. Melab and E-G. Talbi. A Parallel Genetic Algorithm
for Rule Mining. IEEE Intl. Workshop on Bio-Inspired
Solutions to Parallel Processing Problems (BioSP3), San
Francisco, USA, Apr. 23, 2001.

Evaluation de lAG
Qualit des rgles extraites
Paramtres mesurs :
Validit : facteur de confiance des rgles

C&P
FC =
C

Evaluation exprimentale (2)


Rgle
R1
R2
R3
R4
R5
R6
R7
R8
Moyenne

|C|
18
6
288
18
18
54
57
162

|P|
1296
1296
196
864
864
864
864
864

|C&P|
9
3
124
18
18
18
18
54

FCTrain
FCTest
0.500000 0.500000
0.500000 0.500000
0.430556 0.000000
1.000000 1.000000
1.000000 1.000000
0.333333 0.333333
0.333333 0.333333
0.333333 0.333333
0.552500 0.4987500

FC mesurs
Sur les donnes dapprentissage (20%) : FCtrain
Sur les donnes de test (80%) : Fctest

Exemple : R4 : SI ((parents=usual) && (health=not_recomm))

ALORS (recommandation=not_recomm)

Technique Puces ADN


Avantage principal des techniques Puces
ADN
Permet lanalyse simultane dexpressions de
milliers de gnes dans une seule exprience

Processus Puces AND

Arrayer
Exprience : Hybridation
Capture des images rsultats
Analyse

Analyse de lexpression de gnes :


Technologie Puces ADN
Des robots alignent les
ESTs (Expressed
Sequence Tags) sur les
lames de microscopes
cellules mRNA marques
par des tags fluorescents
Liaison mRNA - cDNA
exprime (fluorescence)
indique que le gne est
actif

Ressources

Objectif de Microarray Mining


Analyse des expressions de gnes
sous diffrentes conditions
test
gene

1
2
3
4
..
..
1000

0.6
0.2
0
0.7
..
..
0.3

0.4
0.9
0
0.5
..
..
0.8

0.2
0.8
0.3
0.2
..
..
0.7

Objectif du Microarray Mining


Analyse des expressions de gnes
sous diffrentes conditions
test
gne

1
2
3
4
..
..
1000

0.6
0.2
0
0.7
..
..
0.3

0.4
0.9
0
0.5
..
..
0.8

0.2
0.8
0.3
0.2
..
..
0.7

Clustering de gnes
Genes participating in the same pathway are most likely expression at same time.

Rgles dassociation
Gene1, Gene2, Gene3, Gene4, Gene5.
Gne reprsentant la consquence ?

Chaque condition (microarray) est une instance.


Gnes reprsentent les itemsets.
Rgles dassociation avec confiance leve (100%?)
Gnes cibles = consquence des rgles
Positive regulation

Gene 1

Gene 2

Gene 3
Negative regulation

Gene 4

Gene x

Exprimentations
Ensemble de donnes
SourceLawrence Berkeley National Lab
(LBNL) Michael Eisen's Lab
http://rana.lbl.gov/EisenData.htm
Donnes dexpression Microarray de yeast
saccharomyces cerevisiae, contenant 6221
gnes sous 80 conditions

Rgles dassociation Rsum


Probablement la contribution
la plus significative de la
communaut KDD
Mthodes de recherche de
rgles :
A-priori
Algorithmes gntiques

Plusieurs articles ont t


publis dans ce domaine

Rgles dassociation Rsum


Plusieurs issues ont t
explores : intrt dune rgle,
optimisation des algorithmes,
paralllisme et distribution,
Directions de recherche :
Rgles dassociations pour
dautres types de donnes :
donnes spatiales,
multimedia, sries
temporelles,

Rgles dassociation - Rfrences


R. Agrawal, T. Imielinski, and A. Swami. Mining association rules
between sets of items in large databases. SIGMOD'93, 207-216,
Washington, D.C.
S. Brin, R. Motwani, and C. Silverstein. Beyond market basket:
Generalizing association rules to correlations. SIGMOD'97, 265-276,
Tucson, Arizona.
M. Klemettinen, H. Mannila, P. Ronkainen, H. Toivonen, and A.I.
Verkamo. Finding interesting rules from large sets of discovered
association rules. CIKM'94, 401-408, Gaithersburg, Maryland.
H. Mannila, H. Toivonen, and A. I. Verkamo. Efficient algorithms for
discovering association rules. KDD'94, 181-192, Seattle, WA, July
1994.
G. Piatetsky-Shapiro. Discovery, analysis, and presentation of strong
rules. In G. Piatetsky-Shapiro and W. J. Frawley, editors, Knowledge
Discovery in Databases, 229-238. AAAI/MIT Press, 1991.

Outils pour le Data


Mining

Comment Choisir un outil ?


Systmes commerciaux de data
mining possdent peu de
proprits communes :
Diffrentes mthodologies et
fonctionalits de data mining
Diffrents types densembles
de donnes
Pour la slection dun outil, on a
besoin dune analyse multicritre des systmes existants

Comment Choisir un outil ?


Types de donns : relationnel, transactionnel,
texte, squences temporelles, spaciales ?
Issues systmes
Support systmes dexploitation ?
Architecture client/serveur ?
Fournit une interface Web et permet des
donnes XML en entre et/ou en sortie ?
Sources des donnes :
Fichiers texte ASCII, sources de donnes
relationnels multiples,
Support ODBC (OLE DB, JDBC) ?

Comment Choisir un outil ?

Fonctionalits et mthodologies
une vs. plusieurs fonctions de data mining
une vs. plusieurs mthodes par fonction
Couplage avec les systmes de gestion de base
de donnes et les entropots de donnes
Outils de visualization : visualisation des
donnes, visualisation des rsultats obtenus,
visualisation du processus, visualisation interactive
(split attribut, ), etc.

Comment Choisir un outil ?


Extensibilit (Scalability)
instances (Taille de la base de donnes)
attributs (dimension de la base)
Extensibilit en terme dattributs est plus
difficile assurer que lextensibilit en terme
dinstances
Langage de requte et interface graphique
(IHM)
easy-to-use et qualit de linterface
data mining interactif

Exemple doutils (1)

Intelligent Miner dIBM

Entreprise Miner de SAS

Intelligent Miner for Data (IMA)


Intelligent Miner for Text (IMT)
Tches : groupage de donnes, classification,
recherche dassociations, etc.
SAS : longue exprience en statistiques
Outil complet pour le DM

Darwin de Thinking Machines

Trois techniques : rseaux de neurones, arbres de


dcision et rgression.
Client-Serveur

Exemples doutils (2)

MineSet de Silicon Graphics

Outils/librairies libres

SIPINA
WEKA

Data-Miner Software Kit (DMSK)

Fonctionnalits interactives et graphiques


Techniques sous-jacentes : classification,
segmentation, recherche de rgles dassociation.

Kit de programmes : mthodes statistiques,


segmentation, groupage, rseaux de neurones, etc.
Il existe une version en java

etc.

SAS Entreprise Miner (1)

Socit : SAS Institute Inc.


Cration : Mai 1998
Plate-formes : Windows NT & Unix
Utilisation

Rduction des cots


Matrise des risques
Fidlisation
Prospection

Outils de data warehouse

SAS Entreprise Miner (2)


Interface graphique (icnes)
Construction dun diagramme

SAS Entreprise Miner (3)


Deux types dutilisateurs
Spcialistes en statistiques
Spcialistes mtiers (chef de projet, tudes)

Techniques implmentes
Arbres de dcision
Rgression
Rseaux de neurones

Alice (1)
Socit : ISoft
Cration : 1988
Plate-formes : Windows 95/98/NT/2000,
TSE, Metaframe
Utilisation

Marketing : tudes de march, segmentation


Banque, Assurance : scoring, analyse de risques, dtection de
fraudes
Industrie : contrle qualit, diagnostic, segmentation,
classification, construction de modles, prdiction et
simulation

Alice (2)
Interface graphique (tools)

Type dutilisateur : responsables oprationnels

Clementine (1)

Socit : ISL (Integral Solutions Limited)


Cration : 1994
Plate-formes : Windows NT, Unix
Utilisation

Prvision de parts de march


Dtection de fraudes
Segmentation de march
Implantation de points de vente

Environnement intgr : #Types dutilisateurs

Gens du mtier (pas forcement des informaticiens)


Dveloppeurs / End users

Clementine (2)
Interface simple, puissante et complte
interface conviviale

Clementine (3)
Techniques :
Arbres de dcision
Induction de rgles
Rseaux de neurones
Mthodes statistiques

Forecast Pro (1)

Socit : Business Forecast Systems


Cration : 1997
Plate-formes : Windows 95, NT
Utilisation
Tous domaines activits et secteurs
Notamment la prvision (5 types diffrents)

Outil danalyse incomparable


Le plus utilis dans le monde

Forecast Pro (2)


Types dutilisateurs : PME/PMI,
administrations, consultants, universitaires,
chefs de projets,
Facilit dutilisation (connaissances en
statistiques non requises)
Vaste palette de choix graphiques
Valeurs observes, prvisions, valeurs calcules
sur l'historique, intervalles de confiance,
diagnostics (erreurs)

Forecast Pro (3)

Intelligent Miner (1)


Socit : IBM
Cration : 1998
Plate-formes : AIX, OS/390, OS/400,
Solaris, Windows 2000 & NT
Utilisation
Domaines o laide la dcision est trs
importante (exemple : domaine mdical)
Analyse de textes

Fortement coupl avec DB2 (BD relationnel)

Intelligent Miner (2)


Deux versions
Intelligent Miner for Data (IMD)
Intelligent Miner for Text (IMT)

Types dutilisateurs : spcialistes ou


professionnels expriments
Parallel Intelligent Miner

Intelligent Miner (3)


LIMD
Slection et codage des donnes explorer
Dtermination des valeurs manquantes
Agrgation de valeurs
Diverses techniques pour la fouille de donnes
Rgles dassociation (Apriori), classification (Arbres
de dcision, rseaux de neurones), clustering,
dtection de dviation (analyse statistique &
visualisation)

Visualisation des rsultats


Algorithmes extensibles (scalability)

Intelligent Miner (4)


IMT = analyse de textes libres
Trois composants
Moteur de recherche textuel avanc (TextMiner)
Outil d'accs au Web (moteur de recherche
NetQuestion et un mta-moteur)
Outil d'analyse de textes (Text Analysis)

L'objectif gnral est de faciliter la


comprhension des textes

Intelligent Miner (5)

MineSet (1)

Socit : SGI (Silicon Graphics Inc.)


Cration : 1996
Plate-forme : Silicon Graphics
Utilisation
Services financiers
Prise de dcisions

Algorithmes de visualisation avancs

MineSet (2)
Interface visuelle 3D

MineSet (3)
Interface graphique

client/serveur
Tool Manager (Client)
DataMover (Server)

Utilisateurs
Managers
Analystes

MineSet (4)
Tches
Rgles dassociation
Classification

Prsentation de la connaissance
Arbre
Statistiques
Clusters (nuages de points)

Synthse

Autres techniques de Data Mining


Web mining (contenu,
usage, )
Visual data mining (images)
Audio data mining (son,
musique)
Data mining et requtes
dinterrogation
intelligentes

Visualisation de donnes
Donnes dans un base de
donnes ou un entropot de
donnes peuvent tre
visualises :
diffrents niveaux de
granularit ou dabstraction
A laide de diffrentes
combinaisons dattributs ou
dimensions
Rsultats des outils de Data
Mining peuvent tre prsentes
sous diverses formes visuelles

Box-plots dans StatSoft

Scatter-plots dans SAS


Enterprise Miner

Rgles dassociation dans


MineSet 3.0

Arbres de dcision dans


MineSet 3.0

Clusters dans IBM Intelligent


Miner

Rsum
Data mining : dcouverte
automatique de patterns
intressants partir densembles de
donnes de grande taille
KDD (Knowledge discovery) est un
processus :
pr-traitement
data mining
post-traitement
Domaines dapplication :
distribution, finances, biologie,
mdecine, tlcommunications,
assurances, banques, ...

Rsum
Linformation peut tre extraite
partir de diffrentes types de
bases de donnes (relationnel,
orient objet, spatial, WWW, ...)
Plusieurs fonctions de data mining
(diffrents modles) : clustering,
classification, rgles dassociation,
...
Plusieurs techniques dans
diffrents domaines :
apprentissage, statistiques, IA,
optimisation, ....

Rsum
Plusieurs problmes
ouverts :
Visualisation
Paralllisme et
distribution
Issues de scurit et
confidentialit
Futur prometteur

Rfrences bibliographiques (1)

Georges Gardarin

Rakesh Agrawal (IBM)

Universit de Versailles (laboratoire PRISM)


Internet/intranet et bases de donnes Data Web,
Data Warehouse, Data Mining, Ed. Eyrolles
http://torquenada.prism.uvsq.fr/~gardarin/home.html
IBM Almaden Research Center
http://www.almaden.ibm.com/cs/people/ragrawal/

Mohammed Zaki

Rensselaer Polytechnic Institute, New York


http://www.cs.rpi.edu/~zaki/

Rfrences bibliographiques (2)

Vipin Kumar

Rmi Gilleron

Dcouverte de connaissances partir de donnes,


polycopi (Universit de Lille 3)
http://www.univ-lille3.fr/grappa

The Data Mine

Army High Performance Computing Research Center


http://www-users.cs.umn.edu/~kumar

http://www.cs.bham.ac.uk/~anp/TheDataMine.html

Knowledge Discovery Nuggets (Kdnuggets)

www.kdnuggets.com

Rfrences bibliographiques (3)

"Data Mining: Concepts and Techniques


by Jiawei Han and Micheline Kamber,
Morgan Kaufmann Publishers,
August 2000. 550 pages. ISBN 1-55860-489-8

Confrences - Historique

1989 Workshop IJCAI


1991-1994 Workshops KDD
1995-1998 Confrences KDD
1998 ACM SIGKDD
1999- Confrences SIGKDD
Et plusieurs nouvelles confrences DM
PAKDD, PKDD
SIAM-Data Mining, (IEEE) ICDM
etc.

Confrences - Journaux

Standards
Standards
DM:

Confrences : KDD, PKDD, PAKDD, ...


Journaux :
Data Mining and Knowledge
Discovery, CACM

DM/DB: Confrences : ACM-SIGMOD/PODS, VLDB, ...


Journaux :

AI/ML:
...
...

ACM-TODS, J. ACM,
IEEE-TKDE, JIIS, ...

Confrences : Machine Learning, AAAI, IJCAI,


Journaux :

Machine Learning, Artific. Intell.,

Vous aimerez peut-être aussi