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
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 Maryatteints 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)
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 3M={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 5M={5,8} C1 et C2 inchangés et E{5,8}>E{3,8}
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
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
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’)>