(Clustering)
FAIZ MAAZOUZI
1
Généralités
Organisation des données en groupes (clusters) de
façon à ce que les données similaires soient dans le
même groupe
2 optimisations:
◦ Similarités entre les données dans un groupes aussi
élevées que possible (intra-groupe)
◦ Similarités entre les données de différents groupes aussi
distinctes que possible (inter-groupe)
Apprentissage non supervisé
◦ Les classes sont inconnues
2
Applications
Segmentation de l’ensemble des clients d’une
entreprise en fonction de leur démographie ou de
leurs habitudes d’achat
Grouper les habitations d’une ville en quartiers
Grouper des documents pour des présentations
Identifier de nouvelles espèces animales ou
végétales
3
Similarité entre objets
d (i, j) q (| x x |q | x x |q ... | x x |q )
i1 j1 i2 j2 ip jp
4
Similarité entre objets(I)
Si q = 2, d est la distance Euclidienne :
d (i, j) (| x x |2 | x x |2 ... | x x |2 )
i1 j1 i2 j2 ip jp
◦ 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)
5
Exemple: distance de Manhattan
Age Salaire d(p1,p2)=120
Personne1 50 11000
Personne2 70 11100 d(p1,p3)=132
Personne3 60 11122
Personne4 60 11074 Conclusion: p1 ressemble plus à
p2 qu’à p3
Age Salaire
Personne1 -2 -0,5 d(p1,p2)=4,675
Personne2 2 0,175 d(p1,p3)=2,324
Personne3 0 0,324
Conclusion: p1 ressemble
Personne4 0 0 plus à p3 qu’à p2
6
Variables binaires
7
Mesures de distances
Coefficient d’appariement (matching) simple (invariant pour variables
symétriques):
d (i, j) bc
a bc d
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 (i, j) bc
a bc
8
Exemple: Regroupement de
personnes
Sexe, lunettes,
sourire, chapeau
9
Regroupement
Méthode 1: Hiérarchie
◦ Hiérarchie des groupes de données représentée par un
dendrogramme
◦ Un dendrogramme est un arbre binaire de groupes
◦ Le nombre de groupes peut être choisi post-hoc
◦ On coupe horizontalement le dendrogramme à un niveau précis pour obtenir le nombre de groupes choisi
10
Exemple: Hiérarchie
11
Dendrogramme
12
Regroupement
Méthode 2: Partitionnement
◦ Construction d’une partition des données en k groupes
◦ K est choisi à l’avance
◦ Comment?
◦ Énumération de toutes les partitions
◦ Heuristique:
13
Mesure des similarités /
différences
Utilisation d’un fonction de distance
14
Structures de données
Les données (n lignes)
Matrice des distances (similarités) entre les données:
0
d(i,j): distance entre d(2,1)
0
la donnée i et la
d(3,1) d ( 3,2) 0
donnée j
: : :
d ( n,1) d ( n,2) ... ... 0
15
Hiérarchies
16
Hiérarchies
Méthode descendante (Division)
◦ Commencer avec un groupe contenant toutes les
données
◦ Séparer les groupes en plus petits groupes jusqu’a ce que
chaque groupe ne contiennent plus qu’un exemple
Méthode ascendante (Agglomération)
◦ La méthode la plus communément utilisée
◦ Commencer avec des groupes d’un exemple
◦ Combiner les groupes jusqu’a ce qu’il n’y ait plus qu’un
seul groupe (contenant toutes les données)
17
Comment construire les groupes?
(1)
Lien simple (Simple linkage)
◦ La distance entre 2 groupes G1 et G2 est: Min(Distance(x,y)), où x est un
élément de G1 et y est un élément de G2
◦ On calcule les distances entre tous les groupes en utilisant une matrice des
distances (n groupes matrice nxn)
◦ Les groupes qui sont les plus proches sont combinés
18
Comment construire les
groupes? (2)
Lien complet (Complete linkage)
◦ La distance entre 2 groupes G1 et G2 est: Max(Distance(x,y)), où x est un
élément de G1 et y est un élément de G2
◦ On calcule les distances entre tous les groupes en utilisant une matrice des
distances (n groupes matrice nxn)
◦ Les groupes qui sont les plus éloignés sont combinés
19
Comment construire les
groupes? (3)
Lien moyen (Average linkage)
◦ La distance entre 2 groupes est définie comme la distance
moyenne entre toutes les paires d’éléments des 2
groupes
◦ Elle est calculée de la manière suivante:
◦ La distance entre un groupe G1 et un groupe G2 est 1/(mn)
distance(x,y) pour x dans G1 et y dans G2, |G1| = n et |G2| = m
◦ Les groupes qui sont les plus proches sont combinés
20
Exemple: Dendrogramme
Dendrogramme:
Représentation
graphique des
groupes et des
combinaisons des
groupes
21
Exemple: 2 groupes
22
Exemple: 6 groupes
23
24
25
26
27
28
29
Exemple: Lien Simple
30
Discussion
Méthode très intuitive
Facile à implémenter
Méthode coûteuse
◦ n2 calculs à chaque étape
◦ n: nombre de groupes
31
Exercice 01
On se propose de réaliser une classification des 7 points suivants: M1 =
(0,4), M2 = (1,1), M3 = (1,2), M4 = (1,5), M5 = (3,4) , M6 = (4,3) et M7 =
(6,2). Appliquer l’algorithme CHA
32
Méthode des k
moyennes
33
Groupe
Un groupe est représenté par son centre
Le centre d’un groupe est obtenu par le calcul des moyennes des éléments du
groupe
34
Exemple: Centre
35
Algorithme
K est donné. L’algorithme est composé de 4 étapes:
◦ Partitionnement des données en k sous-ensembles (non
vides)
◦ Calcul des centres des groupes de la partition courante
◦ Les données sont affectées au groupe dont le centre leur
est le plus proche
◦ Retour à l’étape 2
◦ Arrêt lorsqu’il n’y a plus de données a affecter a un
nouveau groupe
36
Autre exemple (1)
27-51-52-33-45-22-28-44-40-38-20-57
K=3
distance = différence/amplitude maximum
27 51 52 33 45 22 28 44 40 38 20 57
G raine 27 0.00 0.65 0.68 0.16 0.49 0.14 0.03 0.46 0.35 0.30 0.19 0.81
G raine 51 0.65 0.00 0.03 0.49 0.16 0.78 0.62 0.19 0.30 0.35 0.84 0.16
G raine 52 0.68 0.03 0.00 0.51 0.19 0.81 0.65 0.22 0.32 0.38 0.86 0.14
M inim um 0 0 0 0.16 0.16 0.14 0.03 0.19 0.3 0.3 0.19 0.14
Affectation 1 2 3 1 2 1 1 2 2 1 1 3
Cluster 1 : 27 - 33 - 22 - 28 - 38 - 20
Cluster 2 : 51 - 45 - 44 - 40
Cluster 3 : 52 - 57
Suite exemple (2)
27 51 52 33 45 22 28 44 40 38 20 57
G ra in e 2 8 0 .0 3 0 .6 2 0 .6 5 0 .1 4 0 .4 6 0 .1 6 0 0 .4 3 0 .3 2 0 .2 7 0 .2 2 0 .7 8
G ra in e 4 5 0 .4 9 0 .1 6 0 .1 9 0 .3 2 0 0 .6 2 0 .4 6 0 .0 3 0 .1 4 0 .1 9 0 .6 8 0 .3 2
G ra in e 5 4 .5 0 .7 4 0 .0 9 0 .0 7 0 .5 8 0 .2 6 0 .8 8 0 .7 2 0 .2 8 0 .3 9 0 .4 5 0 .9 3 0 .0 7
M in im u m 0 .0 3 0 .0 9 0 .0 7 0 .1 4 0 0 .1 6 0 0 .0 3 0 .1 4 0 .1 9 0 .2 2 0 .0 7
A ffe c ta tio n 1 3 3 1 2 1 1 2 2 2 1 3
Cluster 1:
◦ 27 - 33 - 22 - 28 - 20 Jeunes majeurs - Centre = 26
Cluster 2:
◦ 45 - 44 - 40 - 38 Quadragénaires - Centre = 41.75
Cluster 3:
◦ 51 - 52 - 57 Quinquagénaires - Centre = 53.33
Faiblesse
Mauvaise prise en compte des "outliers"
◦ points extrêmes en dehors des groupes
◦ fausses les moyennes et donc les centres
40
Discussion
n calculs à chaque étape
On spécifie le nombre de groupe à l’avance
◦ Sensibilité au choix du nombre de groupes
41
Exercice 01
Soient 6 objets représentés par les points suivants: A(1,1),
B(2,1), C(3,1), D(3,2), E(4,2), F(5,2)
1. Appliquer l’algorithme des 2-moyennes à cet ensemble de points en
supposant que les deux objets tirés au hasard au départ sont A0=E et
B0=F
2. Même question si on suppose que A0=B et B0=E
3. Calculer la somme des variances intra-classes à chaque itération de
l’algorithme de partitionnement pour les questions 1 et 2. Que peut-on
conclure?
42
Références
Cours de modélisation et de fouilles de données de Prof.
Ravi Mantena, New York University.
Multivariate Statistics: Concepts, Models, and Applications.
W. Stockburger.
J. Han, and M. Kamber. Data Mining Concepts and
Techniques. Morgan Kaufmann.
Data Mining: A Tutorial-Based Primer. Richard J. Roiger &
Michael W. Geatz. Addison Wesley.
N. R. Nitin, and P. C. Bruce. Data Mining in Excel :
Lecture notes and Cases.
43