SlideShare une entreprise Scribd logo
1
Regroupement
(clustering)
3
Qu’est ce qu’un bon regroupement ?
 Une bonne méthode de regroupement permet de
garantir
 Une grande similarité intra-groupe
 Une faible similarité inter-groupe
 La qualité d’un regroupement dépend donc de la
mesure de similarité utilisée par la méthode et
de son implémentation
4
Structures de données
 Matrice de données
 Matrice de similarité


















np
x
...
nf
x
...
n1
x
...
...
...
...
...
ip
x
...
if
x
...
i1
x
...
...
...
...
...
1p
x
...
1f
x
...
11
x
















0
...
)
2
,
(
)
1
,
(
:
:
:
)
2
,
3
(
)
...
n
d
n
d
0
d
d(3,1
0
d(2,1)
0
5
Mesurer la qualité d’un clustering
 Métrique pour la similarité: La similarité est
exprimée par le biais d’une mesure de distance
 Une autre fonction est utilisée pour la mesure de
la qualité
 Les définitions de distance sont très différentes
que les variables soient des intervalles
(continues), catégories, booléennes ou ordinales
 En pratique, on utilise souvent une pondération
des variables
6
Types des variables
 Intervalles:
 Binaires:
 catégories, ordinales, ratio:
 Différents types:
7
Intervalle (discrètes)
 Standardiser les données
 Calculer l’écart absolu moyen:
où
 Calculer la mesure standardisée (z-score)
.
)
...
2
1
1
nf
f
f
f
x
x
(x
n
m 



|)
|
...
|
|
|
(|
1
2
1 f
nf
f
f
f
f
f
m
x
m
x
m
x
n
s 






f
f
if
if s
m
x
z


8
Exemple
Age Salaire
Personne1 50 11000
Personne2 70 11100
Personne3 60 11122
Personne4 60 11074
5

SAge
60

M Age
148
11074 
 S
M salaire
salaire
Age Salaire
Personne1 -2 -0,5
Personne2 2 0,175
Personne3 0 0,324
Personne4 0 2
9
Similarité entre objets
 Les distances expriment une similarité
 Ex: la distance de Minkowski :
où i = (xi1, xi2, …, xip) et j = (xj1, xj2, …, xjp) sont deux
objets p-dimensionnels et q un entier positif
 Si q = 1, d est la distance de Manhattan
q
q
p
p
q
q
j
x
i
x
j
x
i
x
j
x
i
x
j
i
d )
|
|
...
|
|
|
(|
)
,
(
2
2
1
1







|
|
...
|
|
|
|
)
,
(
2
2
1
1 p
p j
x
i
x
j
x
i
x
j
x
i
x
j
i
d 






10
Similarité entre objets(I)
 Si q = 2, d est la distance Euclidienne :
 Propriétés

d(i,j)  0

d(i,i) = 0

d(i,j) = d(j,i)

d(i,j)  d(i,k) + d(k,j)
)
|
|
...
|
|
|
(|
)
,
( 2
2
2
2
2
1
1 p
p j
x
i
x
j
x
i
x
j
x
i
x
j
i
d 






11
Exemple: distance de Manhattan
Age Salaire
Personne1 50 11000
Personne2 70 11100
Personne3 60 11122
Personne4 60 11074
d(p1,p2)=120
d(p1,p3)=132
Age Salaire
Personne1 -2 -0,5
Personne2 2 0,175
Personne3 0 0,324
Personne4 0 0
d(p1,p2)=4,675
d(p1,p3)=2,324
Conclusion: p1 ressemble plus à
p2 qu’à p3 
Conclusion: p1 ressemble
plus à p3 qu’à p2 
12
Variables binaires
 Une table de contingence pour données binaires
 Exemple oi=(1,1,0,1,0) et oj=(1,0,0,0,1)
a=1, b=2, c=1, d=2
p
d
b
c
a
sum
d
c
d
c
b
a
b
a
sum




0
1
0
1
Objet i
Objet j
a= nombre de positions
où i a 1 et j a 1
13
Mesures de distances
 Coefficient d’appariement (matching) simple
(invariant pour variables symétriques):
Exemple oi=(1,1,0,1,0) et oj=(1,0,0,0,1)
d(oi, oj)=3/5
 Coefficient de Jaccard
d(oi, oj)=3/4
d
c
b
a
c
b
j
i
d





)
,
(
c
b
a
c
b
j
i
d




)
,
(
14
Variables binaires (I)
 Variable symétrique: Ex. le sexe d’une personne, i.e
coder masculin par 1 et féminin par 0 c’est pareil que le
codage inverse
 Variable asymétrique: Ex. Test HIV. Le test peut être
positif ou négatif (0 ou 1) mais il y a une valeur qui
sera plus présente que l’autre. Généralement, on code
par 1 la modalité la moins fréquente
 2 personnes ayant la valeur 1 pour le test sont plus
similaires que 2 personnes ayant 0 pour le test
15
Variables binaires(II)
 Exemple
 Sexe est un attribut symétrique
 Les autres attributs sont asymétriques
 Y et P  1, N  0, la distance n’est mesurée que sur les asymétriques
Nom Sexe Fièvre Toux Test-1 Test-2 Test-3 Test-4
Jack M Y N P N N N
Mary F Y N P N P N
Jim M Y P N N N N
75
.
0
2
1
1
2
1
)
,
(
67
.
0
1
1
1
1
1
)
,
(
33
.
0
1
0
2
1
0
)
,
(















mary
jim
d
jim
jack
d
mary
jack
d
Les plus similaires sont Jack et Maryatteints du même mal
16
Variables Nominales
 Une généralisation des variables binaires, ex: rouge, vert et
bleu
 Méthode 1: Matching simple

m: # d’appariements, p: # total de variables
 Méthode 2: utiliser un grand nombre de variables binaires

Créer une variable binaire pour chaque modalité (ex:
variable rouge qui prend les valeurs vrai ou faux)
p
m
p
j
i
d 

)
,
(
17
Variables Ordinales
 Une variable ordinale peut être discrète ou continue
 L’ordre peut être important, ex: classement
 Peuvent être traitées comme les variables intervalles
 remplacer xif par son rang
 Remplacer le rang de chaque variable par une valeur
dans [0, 1] en remplaçant la variable f dans l’objet I
par
 Utiliser une distance pour calculer la similarité
1
1



f
if
if M
r
z
}
,...,
1
{ f
if
M
r 
18
En Présence de Variables de différents Types
 Pour chaque type de variables utiliser une mesure
adéquate. Problèmes: les clusters obtenus peuvent être
différents
 On utilise une formule pondérée pour faire la combinaison
 f est binaire ou nominale:
dij
(f)
= 0 si xif = xjf , sinon dij
(f)
= 1
 f est de type intervalle: utiliser une distance normalisée
 f est ordinale

calculer les rangs rif et

Ensuite traiter zif comme une variable de type
intervalle
)
(
1
)
(
)
(
1
)
,
( f
ij
p
f
f
ij
f
ij
p
f
d
j
i
d







1
1



f
if
M
r
zif
19
Approches de Clustering
 Algorithmes de Partitionnement: Construire plusieurs
partitions puis les évaluer selon certains critères
 Algorithmes hiérarchiques: Créer une décomposition
hiérarchique des objets selon certains critères
 Algorithmes basés sur la densité: basés sur des notions de
connectivité et de densité
 Algorithmes de grille: basés sur un structure à multi-
niveaux de granularité
 Algorithmes à modèles: Un modèle est supposé pour
chaque cluster ensuite vérifier chaque modèle sur chaque
groupe pour choisir le meilleur
20
Algorithmes à partionnement
 Construire une partition à k clusters d’une base D de n
objets
 Les k clusters doivent optimiser le critère choisi
 Global optimal: Considérer toutes les k-partitions
 Heuristic methods: Algorithmes k-means et k-medoids
 k-means (MacQueen’67): Chaque cluster est représenté
par son centre
 k-medoids or PAM (Partition around medoids)
(Kaufman & Rousseeuw’87): Chaque cluster est
représenté par un de ses objets
21
La méthode des k-moyennes (K-Means)
 L’algorithme k-means est en 4 étapes :
1. Choisir k objets formant ainsi k clusters
2. (Ré)affecter chaque objet O au cluster Ci de
centre Mi tel que dist(O,Mi) est minimal
3. Recalculer Mi de chaque cluster (le barycentre)
4. Aller à l’étape 2 si on vient de faire une
affectation
22
K-Means :Exemple
 A={1,2,3,6,7,8,13,15,17}. Créer 3 clusters à partir de A
 On prend 3 objets au hasard. Supposons que c’est 1, 2 et 3.
Ca donne C1={1}, M1=1, C2={2}, M2=2, C3={3} et M3=3
 Chaque objet O est affecté au cluster au milieu duquel, O
est le plus proche. 6 est affecté à C3 car
dist(M3,6)<dist(M2,6) et dist(M3,6)<dist(M1,6)
On a C1={1}, M1=1,
C2={2}, M2=2
C3={3, 6,7,8,13,15,17}, M3=69/7=9.86
23
 dist(3,M2)<dist(3,M3)3 passe dans C2. Tous les autres objets ne bougent
pas. C1={1}, M1=1, C2={2,3}, M2=2.5,C3={6,7,8,13,15,17} et M3= 66/6=11
 dist(6,M2)<dist(6,M3)6 passe dans C2. Tous les autres objets ne bougent
pas. C1={1}, M1=1, C2={2,3,6}, M2=11/3=3.67, C3={7,8,13,15,17}, M3= 12
 dist(2,M1)<dist(2,M2)2 passe en C1. dist(7,M2)<dist(7,M3) 7 passe en
C2. Les autres ne bougent pas. C1={1,2}, M1=1.5, C2={3,6,7}, M2=5.34,
C3= {8,13,15,17}, M3=13.25
 dist(3,M1)<dist(3,M2)3 passe en 1. dist(8,M2)<dist(8,M3)8 passe en 2
C1={1,2,3}, M1=2, C2={6,7,8}, M2=7, C3={13,15,17}, M3=15
Plus rien ne bouge
K-Means :Exemple (suite)
24
Algorithme K-Means
 Exemple
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
25
Commentaires sur la méthode des K-Means
 Force
 Relativement efficace: O(tkn), où n est # objets, k est #
clusters, et t est # itérations. Normalement, k, t << n.
 Tend à réduire
 Faiblesses
 N’est pas applicable en présence d’attributs qui ne sont
pas du type intervalle (moyenne=?)
 On doit spécifier k (nombre de clusters)
 Les clusters sont construits par rapports à des objets
inexistants (les milieux)
 Ne peut pas découvrir les groupes non-convexes
  



k
i
p C i
i
m
p
E
1
2
26
La méthode des K-Medoids (PAM)
 Trouver des objets représentatifs (medoïdes)
dans les clusters (au lieu de la moyenne)
 Principe
 Commencer avec un ensemble de medoïdes
puis itérativement remplacer un par un autre si
ça permet de réduire la distance globale
 Efficace pour des données de petite taille
27
Algorithme des k-Medoides
Choisir arbitrairement k medoides
Répéter
affecter chaque objet restant au medoide le plus proche
Choisir aléatoirement un non-medoide Or
Pour chaque medoide Oj
Calculer le coût TC du remplacement de Oj par Or
Si TC < 0 alors
Remplacer Oj par Or
Calculer les nouveaux clusters
Finsi
FinPour
Jusqu’à ce ce qu’il n’y ait plus de changement
28
PAM (Partitioning Around Medoids) (1987)
Choisir arbitrairement k objets représentatifs
 Pour toute paire (h,j) d’objets t.q h est choisi
et j non, calculer le coût TCjh du
remplacement de j par h
 Si TCih < 0, j est remplacé par h

Puis affecter chaque objet non sélectionné
au medoïde qui lui est le plus similaire
 Répéter jusqu’à ne plus avoir de changements
29
La méthode des K-Medoids
 TCjh représente le gain en distance globale que
l’on va avoir en remplaçant h par j
 Si TCjh est négatif alors on va perdre en distance.
Ca veut dire que les clusters seront plus compacts.
 TCjh=i dist(j,h)-dist(j,i)= i Cijh
30
La méthode des K-Medoids: Exemple
 Soit A={1,3,4,5,8,9}, k=2 et M={1,8} ensemble des medoides
C1={1,3,4} et C2={5,8,9}
E{1,8}=dist(3,1)2
+dist(4,1)2
+dist(5,8)2
+dist(5,9)2
+dist(9,8)2
=39
 Comparons 1 et 3M={3,8}C1={1,3,4,5} et C2={8,9}
E{3,8} =dist(1,3)2
+dist(4,3)2
+dist(5,3)2
+dist(9,8)2
=10
E {3,8} - E{1,8}= -29 <0 donc le remplacement est fait.
 Comparons 3 et 4 M={4,8} C1 et C2 inchangés et
E{4,8}=dist(1,4)2
+dist(3,4)2
+dist(5,4)2
+dist(8,9)2
= 12 3 n’est pas
remplacé par 4
 Comparons 3 et 5M={5,8} C1 et C2 inchangés et E{5,8}>E{3,8}
31
PAM Clustering: TCih=jCjih
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
j
i
h
t
Cjih = 0
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
t
i h
j
Cjih = d(j, h) - d(j, i)
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
h
i
t
j
Cjih = d(j, t) - d(j, i)
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
t
i
h j
Cjih = d(j, h) - d(j, t)
32
Clustering Hiérarchique
 Utiliser la matrice de distances comme critère de
regroupement. k n’a pas à être précisé, mais a besoin
d’une condition d’arrêt
Etape
0
Etape
1
Etape
2
Etape
3
Etape
4
b
d
c
e
a a b
d e
c d e
a b c d e
Etape
4
Etape
3
Etape
2
Etape
1
Etape
0
agglomerative
(AGNES)
divisive
(DIANA)
33
AGNES (Agglomerative Nesting)
 Utilise la matrice de dissimilarité.
 Fusionne les nœuds qui ont la plus faible dissimilarité
 On peut se retrouver dans la situation où tous les nœuds
sont dans le même groupe
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
34
DIANA (Divisive Analysis)
 L’ordre inverse de celui d’AGNES
 Il se peut que chaque objet forme à lui seul un
groupe
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
35
Critères de fusion-éclatement
 Exemple: pour les méthodes agglomératives,
C1 et C2 sont fusionnés si
 il existe o1  C1 et o2 C2 tels que
dist(o1,o2)  seuil, ou
 il n’existe pas o1  C1 et o2 C2 tels que
dist(o1,o2)  seuil, ou
 distance entre C1 et C2  seuil avec
et n1=|C1|.
 Ces techniques peuvent être adaptées pour les
méthodes divisives
  



2
2
1
1
)
2
,
1
(
2
*
1
1
,
,
2
1
C
o
C
o
o
o
dist
n
n
C
C
dist
Lien
unique
36
BIRCH (1996)
 Birch: Balanced Iterative Reducing and Clustering using
Hierarchies
 Construit incrémentalement un arbre (CF-tree : Clustering
Feature), une structure hiérarchique où chaque niveau
représente une phase de clustering
 Phase 1: scanner la base pour construire le CF-tree dans
la mémoire

Phase 2: utiliser n’importe quel algorithme de clustering
sur les feuilles du CF-tree
 Avantage: trouve les clusters en une seule passe sur la BD
 Inconvénient: ne considère que les données numériques et
est sensible à l’ordre des enregistrements
37
Clustering Feature Vector
Clustering Feature: CF = (N, LS, SS)
N: Number of data points
LS: N
i=1=Xi
SS: N
i=1=Xi
2
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
CF = (5, (16,30),(54,190))
(3,4)
(2,6)
(4,5)
(4,7)
(3,8)
38
CF Tree
CF1
Fils1
CF3
Fils3
CF2
Fils2
CF6
Fils6
CF1
Fils1
CF3
Fils3
CF2
Fils2
CF5
Fils5
CF1 CF2 CF6
préd suivant CF1 CF2 CF4
préd suiv
N_noeud= 7
N_feuille = 6
Racine
Feuille Feuille
Nœud interne
39
CURE (Clustering Using REpresentatives )
 Les méthodes précédentes donnent les groupes
(b)
 CURE: (1998)
 Arrête la création de clusters dès qu’on en a k
 Utilise plusieurs points représentatifs clusters
40
Cure: l’algorithme
 Prendre un sous-ensemble s
 Partitionner s en p partitions de taille s/p
 Dans chaque partition, créer s/pq clusters
 Eliminer les exceptions (points aberrants)
 Regrouper les clusters partiels
41
Partitionnment et Clustering

s = 50

p = 2

s/p = 25
x x
x
y
y y
y
x
y
x
s/pq = 5
42
Cure: Rapprochement des points représentatifs
 Rapprocher les points représentatifs vers le centre de
gravité par un facteur .
 Plusieurs points représentatifs permettent de figurer la
forme du cluster
x
y
x
y
43
Clustering de données Catégorielles : ROCK
 ROCK: Robust Clustering using linKs
 Utilise les liens pour mesurer la similarité/proximité
 N’est pas basé sur la notion de distance
 Idée :
 Fonction de similarité et voisins:
Let T1 = {1,2,3}, T2={3,4,5}
Sim T T
T T
T T
( , )
1 2
1 2
1 2



Sim T T
( , )
{ }
{ , , , , }
.
1 2
3
1 2 3 4 5
1
5
0 2
  
44
Rock
 Considérons 4 transactions et 6 produits t.q
T1={1,2,3,5} T2={2,3,4,5}
T3={1,4} et T4={6}
 T1 peut être représentée par {1,1,1,0,1,0}
dist(T1,T2)=2 qui est la plus petite distance entre 2 transactions 
T1 et T2 dans même cluster. La moyenne de C1=(0.5,1,1,0.5,1,0).
C2={T3,T4} car dist(T3,T4)=3. Or T3 et T4 n’ont aucun produit en
commun !
Idée : se baser sur le nombre d’éléments en commun
Ce n’est pas suffisant {1,2} est plus proche de {1,2,3} que de
{1,2,3,4,5,6}
45
Rock: l’algorithme
 Liens: Le nombre de voisins communs de 2
points
 Algorithme
 Prendre un sous ensemble
 Regrouper avec les liens
{1,2,3}, {1,2,4}, {1,2,5}, {1,3,4}, {1,3,5}
{1,4,5}, {2,3,4}, {2,3,5}, {2,4,5}, {3,4,5}
{1,2,3} {1,2,4}
3
46
Clustering basé sur la densité
 Voit les clusters comme des régions denses séparées par
des régions qui le sont moins (bruit)
 Deux paramètres:
 Eps: Rayon maximum du voisinage
 MinPts: Nombre minimum de points dans le voisinage-
Eps d’un point
 Voisinage : VEps(p): {q  D | dist(p,q) <= Eps}
 Un point p est directement densité-accessible à partir de q
resp. à Eps, MinPts si

1) p VEps(q)

2) |VEps (q)| >= MinPts
p
q
MinPts = 5
Eps = 1 cm
47
Clustering basé sur la densité
 Accessibilité:
 p est accessible à partir de q resp.
à Eps, MinPts si il existe p1, …, pn,
p1 = q, pn = p t.q pi+1 est
directement densité accessible à
partir de pi
 Connexité
 p est connecté à q resp. à Eps,
MinPts si il existe un point o t.q p
et q accessibles à partir de o resp.
à Eps et MinPts.
p
q
p1
p q
o
48
DBSCAN: Density Based Spatial
Clustering of Applications with Noise
 Un cluster est l’ensemble maximal de points connectés
 Découvre des clusters non nécessairement convexes
Centr
Limite
Bruit
Eps = 1cm
MinPts = 5
49
DBSCAN: l’algorithme
 Choisir p
 Récupérer tous les points accessibles à partir de p
resp. Eps et MinPts.
 Si p est un centre, un cluster est formé.
 si p est une limite, alors il n’y a pas de points
accessibles de p : passer à un autre point
 Répéter le processus jusqu’à épuiser tous les points.
50
Découverte d’exceptions
 Ce sont les objets qui sont considérablement
différents du reste, exemple: ornithorynque, kiwi
 Problème
 Trouver n objets qui sont les plus éloignés du
reste
 Applications:
 fraude
 Analyse médicale
 …
51
Approache statistique
 On suppose que les données suivent une loi de
distribution statistique (ex: loi normale)
 Utiliser les tests de discordance
 Proba(Xi=val)<  alors X est une exception
 Problèmes
 La plupart des tests sont sur un attribut
 Dans beaucoup de cas, la loi de distribution
est inconnue
Approche Basée sur la Distance
 Une (, )-exception est un object O dans T tel
qu’il y a au moins  objets O’ de T avec
dist(O,O’)> 

Contenu connexe

PPT
Cours cluster si2e
PPT
Clustering
PDF
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
PPT
clustering
PDF
Théorie des distributions
PPT
Presentation - Automated Variable Weighting in k-Means Type Clustering
PDF
Chapitre_3_Apprentissage_a_laide_des_Arbres_de_Decision.pdf
PPTX
Comment faire disparaître les rides
Cours cluster si2e
Clustering
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
clustering
Théorie des distributions
Presentation - Automated Variable Weighting in k-Means Type Clustering
Chapitre_3_Apprentissage_a_laide_des_Arbres_de_Decision.pdf
Comment faire disparaître les rides

Similaire à Clustering is a data analysis technique used to group (20)

PDF
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
PDF
Cours algorithmique et complexite complet
PDF
Cours algorithmique et complexite
PDF
Cours algorithmique et complexite complet
PPT
ProbaL2_Chahjjjjjjjjjjjjjjjjkhhjjbjjp2.ppt
PDF
en analyse des composantes de donnees.pdf
PPTX
melange de gaussienne
PDF
cours sur analyse d3 donnees niveau autres
PDF
Msm1 corr algebre
PDF
comprehension clustering CHA.pdf
PDF
Cours series fourier
PDF
Cours series fourier
PDF
Convex Multi-Task Feature Learning
PDF
246242769 sequence-1-pdf
PDF
Xavier Milaud - Techniques d'arbres de classification et de régression
PDF
Chapitre 3 NP-complétude
PDF
Chap5 La manipulation des iterables en python
PPTX
Statistiques descriptives [PDF].pptx
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
Cours algorithmique et complexite complet
Cours algorithmique et complexite
Cours algorithmique et complexite complet
ProbaL2_Chahjjjjjjjjjjjjjjjjkhhjjbjjp2.ppt
en analyse des composantes de donnees.pdf
melange de gaussienne
cours sur analyse d3 donnees niveau autres
Msm1 corr algebre
comprehension clustering CHA.pdf
Cours series fourier
Cours series fourier
Convex Multi-Task Feature Learning
246242769 sequence-1-pdf
Xavier Milaud - Techniques d'arbres de classification et de régression
Chapitre 3 NP-complétude
Chap5 La manipulation des iterables en python
Statistiques descriptives [PDF].pptx
Publicité

Clustering is a data analysis technique used to group

  • 2. 3 Qu’est ce qu’un bon regroupement ?  Une bonne méthode de regroupement permet de garantir  Une grande similarité intra-groupe  Une faible similarité inter-groupe  La qualité d’un regroupement dépend donc de la mesure de similarité utilisée par la méthode et de son implémentation
  • 3. 4 Structures de données  Matrice de données  Matrice de similarité                   np x ... nf x ... n1 x ... ... ... ... ... ip x ... if x ... i1 x ... ... ... ... ... 1p x ... 1f x ... 11 x                 0 ... ) 2 , ( ) 1 , ( : : : ) 2 , 3 ( ) ... n d n d 0 d d(3,1 0 d(2,1) 0
  • 4. 5 Mesurer la qualité d’un clustering  Métrique pour la similarité: La similarité est exprimée par le biais d’une mesure de distance  Une autre fonction est utilisée pour la mesure de la qualité  Les définitions de distance sont très différentes que les variables soient des intervalles (continues), catégories, booléennes ou ordinales  En pratique, on utilise souvent une pondération des variables
  • 5. 6 Types des variables  Intervalles:  Binaires:  catégories, ordinales, ratio:  Différents types:
  • 6. 7 Intervalle (discrètes)  Standardiser les données  Calculer l’écart absolu moyen: où  Calculer la mesure standardisée (z-score) . ) ... 2 1 1 nf f f f x x (x n m     |) | ... | | | (| 1 2 1 f nf f f f f f m x m x m x n s        f f if if s m x z  
  • 7. 8 Exemple Age Salaire Personne1 50 11000 Personne2 70 11100 Personne3 60 11122 Personne4 60 11074 5  SAge 60  M Age 148 11074   S M salaire salaire Age Salaire Personne1 -2 -0,5 Personne2 2 0,175 Personne3 0 0,324 Personne4 0 2
  • 8. 9 Similarité entre objets  Les distances expriment une similarité  Ex: la distance de Minkowski : où i = (xi1, xi2, …, xip) et j = (xj1, xj2, …, xjp) sont deux objets p-dimensionnels et q un entier positif  Si q = 1, d est la distance de Manhattan q q p p q q j x i x j x i x j x i x j i d ) | | ... | | | (| ) , ( 2 2 1 1        | | ... | | | | ) , ( 2 2 1 1 p p j x i x j x i x j x i x j i d       
  • 9. 10 Similarité entre objets(I)  Si q = 2, d est la distance Euclidienne :  Propriétés  d(i,j)  0  d(i,i) = 0  d(i,j) = d(j,i)  d(i,j)  d(i,k) + d(k,j) ) | | ... | | | (| ) , ( 2 2 2 2 2 1 1 p p j x i x j x i x j x i x j i d       
  • 10. 11 Exemple: distance de Manhattan Age Salaire Personne1 50 11000 Personne2 70 11100 Personne3 60 11122 Personne4 60 11074 d(p1,p2)=120 d(p1,p3)=132 Age Salaire Personne1 -2 -0,5 Personne2 2 0,175 Personne3 0 0,324 Personne4 0 0 d(p1,p2)=4,675 d(p1,p3)=2,324 Conclusion: p1 ressemble plus à p2 qu’à p3  Conclusion: p1 ressemble plus à p3 qu’à p2 
  • 11. 12 Variables binaires  Une table de contingence pour données binaires  Exemple oi=(1,1,0,1,0) et oj=(1,0,0,0,1) a=1, b=2, c=1, d=2 p d b c a sum d c d c b a b a sum     0 1 0 1 Objet i Objet j a= nombre de positions où i a 1 et j a 1
  • 12. 13 Mesures de distances  Coefficient d’appariement (matching) simple (invariant pour variables symétriques): Exemple oi=(1,1,0,1,0) et oj=(1,0,0,0,1) d(oi, oj)=3/5  Coefficient de Jaccard d(oi, oj)=3/4 d c b a c b j i d      ) , ( c b a c b j i d     ) , (
  • 13. 14 Variables binaires (I)  Variable symétrique: Ex. le sexe d’une personne, i.e coder masculin par 1 et féminin par 0 c’est pareil que le codage inverse  Variable asymétrique: Ex. Test HIV. Le test peut être positif ou négatif (0 ou 1) mais il y a une valeur qui sera plus présente que l’autre. Généralement, on code par 1 la modalité la moins fréquente  2 personnes ayant la valeur 1 pour le test sont plus similaires que 2 personnes ayant 0 pour le test
  • 14. 15 Variables binaires(II)  Exemple  Sexe est un attribut symétrique  Les autres attributs sont asymétriques  Y et P  1, N  0, la distance n’est mesurée que sur les asymétriques Nom Sexe Fièvre Toux Test-1 Test-2 Test-3 Test-4 Jack M Y N P N N N Mary F Y N P N P N Jim M Y P N N N N 75 . 0 2 1 1 2 1 ) , ( 67 . 0 1 1 1 1 1 ) , ( 33 . 0 1 0 2 1 0 ) , (                mary jim d jim jack d mary jack d Les plus similaires sont Jack et Maryatteints du même mal
  • 15. 16 Variables Nominales  Une généralisation des variables binaires, ex: rouge, vert et bleu  Méthode 1: Matching simple  m: # d’appariements, p: # total de variables  Méthode 2: utiliser un grand nombre de variables binaires  Créer une variable binaire pour chaque modalité (ex: variable rouge qui prend les valeurs vrai ou faux) p m p j i d   ) , (
  • 16. 17 Variables Ordinales  Une variable ordinale peut être discrète ou continue  L’ordre peut être important, ex: classement  Peuvent être traitées comme les variables intervalles  remplacer xif par son rang  Remplacer le rang de chaque variable par une valeur dans [0, 1] en remplaçant la variable f dans l’objet I par  Utiliser une distance pour calculer la similarité 1 1    f if if M r z } ,..., 1 { f if M r 
  • 17. 18 En Présence de Variables de différents Types  Pour chaque type de variables utiliser une mesure adéquate. Problèmes: les clusters obtenus peuvent être différents  On utilise une formule pondérée pour faire la combinaison  f est binaire ou nominale: dij (f) = 0 si xif = xjf , sinon dij (f) = 1  f est de type intervalle: utiliser une distance normalisée  f est ordinale  calculer les rangs rif et  Ensuite traiter zif comme une variable de type intervalle ) ( 1 ) ( ) ( 1 ) , ( f ij p f f ij f ij p f d j i d        1 1    f if M r zif
  • 18. 19 Approches de Clustering  Algorithmes de Partitionnement: Construire plusieurs partitions puis les évaluer selon certains critères  Algorithmes hiérarchiques: Créer une décomposition hiérarchique des objets selon certains critères  Algorithmes basés sur la densité: basés sur des notions de connectivité et de densité  Algorithmes de grille: basés sur un structure à multi- niveaux de granularité  Algorithmes à modèles: Un modèle est supposé pour chaque cluster ensuite vérifier chaque modèle sur chaque groupe pour choisir le meilleur
  • 19. 20 Algorithmes à partionnement  Construire une partition à k clusters d’une base D de n objets  Les k clusters doivent optimiser le critère choisi  Global optimal: Considérer toutes les k-partitions  Heuristic methods: Algorithmes k-means et k-medoids  k-means (MacQueen’67): Chaque cluster est représenté par son centre  k-medoids or PAM (Partition around medoids) (Kaufman & Rousseeuw’87): Chaque cluster est représenté par un de ses objets
  • 20. 21 La méthode des k-moyennes (K-Means)  L’algorithme k-means est en 4 étapes : 1. Choisir k objets formant ainsi k clusters 2. (Ré)affecter chaque objet O au cluster Ci de centre Mi tel que dist(O,Mi) est minimal 3. Recalculer Mi de chaque cluster (le barycentre) 4. Aller à l’étape 2 si on vient de faire une affectation
  • 21. 22 K-Means :Exemple  A={1,2,3,6,7,8,13,15,17}. Créer 3 clusters à partir de A  On prend 3 objets au hasard. Supposons que c’est 1, 2 et 3. Ca donne C1={1}, M1=1, C2={2}, M2=2, C3={3} et M3=3  Chaque objet O est affecté au cluster au milieu duquel, O est le plus proche. 6 est affecté à C3 car dist(M3,6)<dist(M2,6) et dist(M3,6)<dist(M1,6) On a C1={1}, M1=1, C2={2}, M2=2 C3={3, 6,7,8,13,15,17}, M3=69/7=9.86
  • 22. 23  dist(3,M2)<dist(3,M3)3 passe dans C2. Tous les autres objets ne bougent pas. C1={1}, M1=1, C2={2,3}, M2=2.5,C3={6,7,8,13,15,17} et M3= 66/6=11  dist(6,M2)<dist(6,M3)6 passe dans C2. Tous les autres objets ne bougent pas. C1={1}, M1=1, C2={2,3,6}, M2=11/3=3.67, C3={7,8,13,15,17}, M3= 12  dist(2,M1)<dist(2,M2)2 passe en C1. dist(7,M2)<dist(7,M3) 7 passe en C2. Les autres ne bougent pas. C1={1,2}, M1=1.5, C2={3,6,7}, M2=5.34, C3= {8,13,15,17}, M3=13.25  dist(3,M1)<dist(3,M2)3 passe en 1. dist(8,M2)<dist(8,M3)8 passe en 2 C1={1,2,3}, M1=2, C2={6,7,8}, M2=7, C3={13,15,17}, M3=15 Plus rien ne bouge K-Means :Exemple (suite)
  • 23. 24 Algorithme K-Means  Exemple 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
  • 24. 25 Commentaires sur la méthode des K-Means  Force  Relativement efficace: O(tkn), où n est # objets, k est # clusters, et t est # itérations. Normalement, k, t << n.  Tend à réduire  Faiblesses  N’est pas applicable en présence d’attributs qui ne sont pas du type intervalle (moyenne=?)  On doit spécifier k (nombre de clusters)  Les clusters sont construits par rapports à des objets inexistants (les milieux)  Ne peut pas découvrir les groupes non-convexes       k i p C i i m p E 1 2
  • 25. 26 La méthode des K-Medoids (PAM)  Trouver des objets représentatifs (medoïdes) dans les clusters (au lieu de la moyenne)  Principe  Commencer avec un ensemble de medoïdes puis itérativement remplacer un par un autre si ça permet de réduire la distance globale  Efficace pour des données de petite taille
  • 26. 27 Algorithme des k-Medoides Choisir arbitrairement k medoides Répéter affecter chaque objet restant au medoide le plus proche Choisir aléatoirement un non-medoide Or Pour chaque medoide Oj Calculer le coût TC du remplacement de Oj par Or Si TC < 0 alors Remplacer Oj par Or Calculer les nouveaux clusters Finsi FinPour Jusqu’à ce ce qu’il n’y ait plus de changement
  • 27. 28 PAM (Partitioning Around Medoids) (1987) Choisir arbitrairement k objets représentatifs  Pour toute paire (h,j) d’objets t.q h est choisi et j non, calculer le coût TCjh du remplacement de j par h  Si TCih < 0, j est remplacé par h  Puis affecter chaque objet non sélectionné au medoïde qui lui est le plus similaire  Répéter jusqu’à ne plus avoir de changements
  • 28. 29 La méthode des K-Medoids  TCjh représente le gain en distance globale que l’on va avoir en remplaçant h par j  Si TCjh est négatif alors on va perdre en distance. Ca veut dire que les clusters seront plus compacts.  TCjh=i dist(j,h)-dist(j,i)= i Cijh
  • 29. 30 La méthode des K-Medoids: Exemple  Soit A={1,3,4,5,8,9}, k=2 et M={1,8} ensemble des medoides C1={1,3,4} et C2={5,8,9} E{1,8}=dist(3,1)2 +dist(4,1)2 +dist(5,8)2 +dist(5,9)2 +dist(9,8)2 =39  Comparons 1 et 3M={3,8}C1={1,3,4,5} et C2={8,9} E{3,8} =dist(1,3)2 +dist(4,3)2 +dist(5,3)2 +dist(9,8)2 =10 E {3,8} - E{1,8}= -29 <0 donc le remplacement est fait.  Comparons 3 et 4 M={4,8} C1 et C2 inchangés et E{4,8}=dist(1,4)2 +dist(3,4)2 +dist(5,4)2 +dist(8,9)2 = 12 3 n’est pas remplacé par 4  Comparons 3 et 5M={5,8} C1 et C2 inchangés et E{5,8}>E{3,8}
  • 30. 31 PAM Clustering: TCih=jCjih 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 j i h t Cjih = 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 t i h j Cjih = d(j, h) - d(j, i) 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 h i t j Cjih = d(j, t) - d(j, i) 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 t i h j Cjih = d(j, h) - d(j, t)
  • 31. 32 Clustering Hiérarchique  Utiliser la matrice de distances comme critère de regroupement. k n’a pas à être précisé, mais a besoin d’une condition d’arrêt Etape 0 Etape 1 Etape 2 Etape 3 Etape 4 b d c e a a b d e c d e a b c d e Etape 4 Etape 3 Etape 2 Etape 1 Etape 0 agglomerative (AGNES) divisive (DIANA)
  • 32. 33 AGNES (Agglomerative Nesting)  Utilise la matrice de dissimilarité.  Fusionne les nœuds qui ont la plus faible dissimilarité  On peut se retrouver dans la situation où tous les nœuds sont dans le même groupe 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
  • 33. 34 DIANA (Divisive Analysis)  L’ordre inverse de celui d’AGNES  Il se peut que chaque objet forme à lui seul un groupe 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
  • 34. 35 Critères de fusion-éclatement  Exemple: pour les méthodes agglomératives, C1 et C2 sont fusionnés si  il existe o1  C1 et o2 C2 tels que dist(o1,o2)  seuil, ou  il n’existe pas o1  C1 et o2 C2 tels que dist(o1,o2)  seuil, ou  distance entre C1 et C2  seuil avec et n1=|C1|.  Ces techniques peuvent être adaptées pour les méthodes divisives       2 2 1 1 ) 2 , 1 ( 2 * 1 1 , , 2 1 C o C o o o dist n n C C dist Lien unique
  • 35. 36 BIRCH (1996)  Birch: Balanced Iterative Reducing and Clustering using Hierarchies  Construit incrémentalement un arbre (CF-tree : Clustering Feature), une structure hiérarchique où chaque niveau représente une phase de clustering  Phase 1: scanner la base pour construire le CF-tree dans la mémoire  Phase 2: utiliser n’importe quel algorithme de clustering sur les feuilles du CF-tree  Avantage: trouve les clusters en une seule passe sur la BD  Inconvénient: ne considère que les données numériques et est sensible à l’ordre des enregistrements
  • 36. 37 Clustering Feature Vector Clustering Feature: CF = (N, LS, SS) N: Number of data points LS: N i=1=Xi SS: N i=1=Xi 2 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 CF = (5, (16,30),(54,190)) (3,4) (2,6) (4,5) (4,7) (3,8)
  • 37. 38 CF Tree CF1 Fils1 CF3 Fils3 CF2 Fils2 CF6 Fils6 CF1 Fils1 CF3 Fils3 CF2 Fils2 CF5 Fils5 CF1 CF2 CF6 préd suivant CF1 CF2 CF4 préd suiv N_noeud= 7 N_feuille = 6 Racine Feuille Feuille Nœud interne
  • 38. 39 CURE (Clustering Using REpresentatives )  Les méthodes précédentes donnent les groupes (b)  CURE: (1998)  Arrête la création de clusters dès qu’on en a k  Utilise plusieurs points représentatifs clusters
  • 39. 40 Cure: l’algorithme  Prendre un sous-ensemble s  Partitionner s en p partitions de taille s/p  Dans chaque partition, créer s/pq clusters  Eliminer les exceptions (points aberrants)  Regrouper les clusters partiels
  • 40. 41 Partitionnment et Clustering  s = 50  p = 2  s/p = 25 x x x y y y y x y x s/pq = 5
  • 41. 42 Cure: Rapprochement des points représentatifs  Rapprocher les points représentatifs vers le centre de gravité par un facteur .  Plusieurs points représentatifs permettent de figurer la forme du cluster x y x y
  • 42. 43 Clustering de données Catégorielles : ROCK  ROCK: Robust Clustering using linKs  Utilise les liens pour mesurer la similarité/proximité  N’est pas basé sur la notion de distance  Idée :  Fonction de similarité et voisins: Let T1 = {1,2,3}, T2={3,4,5} Sim T T T T T T ( , ) 1 2 1 2 1 2    Sim T T ( , ) { } { , , , , } . 1 2 3 1 2 3 4 5 1 5 0 2   
  • 43. 44 Rock  Considérons 4 transactions et 6 produits t.q T1={1,2,3,5} T2={2,3,4,5} T3={1,4} et T4={6}  T1 peut être représentée par {1,1,1,0,1,0} dist(T1,T2)=2 qui est la plus petite distance entre 2 transactions  T1 et T2 dans même cluster. La moyenne de C1=(0.5,1,1,0.5,1,0). C2={T3,T4} car dist(T3,T4)=3. Or T3 et T4 n’ont aucun produit en commun ! Idée : se baser sur le nombre d’éléments en commun Ce n’est pas suffisant {1,2} est plus proche de {1,2,3} que de {1,2,3,4,5,6}
  • 44. 45 Rock: l’algorithme  Liens: Le nombre de voisins communs de 2 points  Algorithme  Prendre un sous ensemble  Regrouper avec les liens {1,2,3}, {1,2,4}, {1,2,5}, {1,3,4}, {1,3,5} {1,4,5}, {2,3,4}, {2,3,5}, {2,4,5}, {3,4,5} {1,2,3} {1,2,4} 3
  • 45. 46 Clustering basé sur la densité  Voit les clusters comme des régions denses séparées par des régions qui le sont moins (bruit)  Deux paramètres:  Eps: Rayon maximum du voisinage  MinPts: Nombre minimum de points dans le voisinage- Eps d’un point  Voisinage : VEps(p): {q  D | dist(p,q) <= Eps}  Un point p est directement densité-accessible à partir de q resp. à Eps, MinPts si  1) p VEps(q)  2) |VEps (q)| >= MinPts p q MinPts = 5 Eps = 1 cm
  • 46. 47 Clustering basé sur la densité  Accessibilité:  p est accessible à partir de q resp. à Eps, MinPts si il existe p1, …, pn, p1 = q, pn = p t.q pi+1 est directement densité accessible à partir de pi  Connexité  p est connecté à q resp. à Eps, MinPts si il existe un point o t.q p et q accessibles à partir de o resp. à Eps et MinPts. p q p1 p q o
  • 47. 48 DBSCAN: Density Based Spatial Clustering of Applications with Noise  Un cluster est l’ensemble maximal de points connectés  Découvre des clusters non nécessairement convexes Centr Limite Bruit Eps = 1cm MinPts = 5
  • 48. 49 DBSCAN: l’algorithme  Choisir p  Récupérer tous les points accessibles à partir de p resp. Eps et MinPts.  Si p est un centre, un cluster est formé.  si p est une limite, alors il n’y a pas de points accessibles de p : passer à un autre point  Répéter le processus jusqu’à épuiser tous les points.
  • 49. 50 Découverte d’exceptions  Ce sont les objets qui sont considérablement différents du reste, exemple: ornithorynque, kiwi  Problème  Trouver n objets qui sont les plus éloignés du reste  Applications:  fraude  Analyse médicale  …
  • 50. 51 Approache statistique  On suppose que les données suivent une loi de distribution statistique (ex: loi normale)  Utiliser les tests de discordance  Proba(Xi=val)<  alors X est une exception  Problèmes  La plupart des tests sont sur un attribut  Dans beaucoup de cas, la loi de distribution est inconnue
  • 51. Approche Basée sur la Distance  Une (, )-exception est un object O dans T tel qu’il y a au moins  objets O’ de T avec dist(O,O’)> 