Post on 25-Jul-2020
1
Fahmi Ben Rejab
Année universitaire 2019/2020
Techniques duData Mining
Clustering: K-means
Clustering
2
3
• L'apprentissage automatique (machine learning en anglais)
est un champ d'étude de l’IA.
• Il est relatif au développement de méthodes permettant à une
machine d'évoluer
4
Les algorithmes d’apprentissage peuvent se catégoriser selon le
type d’apprentissage qu’ils emploient :
L'apprentissage supervisé: classification, ensemble d’objets
préalablement étiqueter.
L'apprentissage non-supervisé: clustering
5
• Regroupement (Clustering): construire une collection d’objets
– Similaires au sein d’un même groupe
– Dissimilaires quand ils appartiennent à des groupes
différents
• Le Clustering est de la classification non supervisée: pas de
classes prédéfinies
6
• On ne disposent que d'exemples (des objets), mais non
d'étiquettes, et le nombre de clusters et leur nature n'ont pas été
prédéterminés,
• Il permet d’avoir une structure des données par le
regroupement des données qui se ressemblent.
7
• 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
8
• Cluster= groupe d’objets
Exemple de3 clusters: k=3
9
• K-means: données numériques
• K-modes: données catégoriques
• k-prototypes: données mixtes (numériques et catégoriques)
• ….
10
K-means: k-moyennes
Proposée par MacQueen, 1967
Traite des données quantitatives
Chaque cluster est représenté par son centre
Possibilité d’utiliser plusieurs distance
11
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
4. Aller à l’étape (2) si on vient de faire une affectation
12
• 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
13
• 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
14
• 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
15
16
• 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
17
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 100
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
La mesure de distance choisie pour calculer la similarité:
la distance Euclidienne d(i,j):
• où i = (xi1, xi2, …, xip) et j = (xj1, xj2, …, xjp) sont deux objets
18
)||...|||(|),( 22
22
2
11 pp jx
ix
jx
ix
jx
ixjid
Propriétés
• d(i,j) 0
• d(i,i) = 0
• d(i,j) = d(j,i)
19
Propriétaire Nbre anciens crédits
O1 2 2
O2 0 0
O3 3 1
O4 1 0
20
• Soient 4 clients {O1, O2, O3 et O4} demandant un crédit
• Le but est de faire des groupes de clients selon leurs natures:
ceux qui se ressemblent sont groupés ensemble.
• on dispose de 2 clusters: k=2
• On prend au hasard 2 objets comme centre initiaux.
• C1={O1}, C2={O2},
• M1={2,2}; M2={0,0}
• d(O1, M1)=racine[|2-2|2 + [|2-2|2 ]=0
• d(O2, M1)=racine[|0-2|2 + [|0-2|2 ]=racine(8)=2.82
• d(O3, M1)=racine[|3-2|2 + [|1-2|2 ]=racine(2)=1.41
• d(O4, M1)=racine[|1-2|2 + [|0-2|2 ]=racine(5)=2.23
21
• d(O1, M2)=racine[|2-0|2 + [|2-0|2 ]= racine(8)=2.82
• d(O2, M2)=racine[|0-0|2 + [|0-0|2 ]=0
• d(O3, M2)=racine[|3-0|2 + [|1-0|2 ]=racine(10)=3.16
• d(O4, M2)=racine[|1-0|2 + [|0-0|2 ]=racine(1)=1
• C1={O1,O3} , M1={2.5; 1.5}
• C2={O2,O4}, M2={0.5; 0}
22
• d(O1, M1)=racine[|2-2.5|2 + [|2-1.5|2 ]=racine(0.25+0.25)=0.7
• d(O2, M1)=racine[|0-2.5|2 + [|0-1.5|2 ]=racine(6.25+2.25)=2.91
• d(O3, M1)=racine[|3-2.5|2 + [|1-1.5|2 ]=racine(0.25+0.25)=0.7
• d(O4, M1)=racine[|1-2.5|2 + [|0-1.5|2 ]=racine(2.25+2.25)=2.12
• d(O1, M2)=racine[|2-0.5|2 + [|2-0|2 ]= racine(2.25+4)=2.5
• d(O2, M2)=racine[|0-0.5|2 + [|0-0|2 ]=racine(0.25)=0.5
• d(O3, M2)=racine[|3-0.5|2 + [|1-0|2 ]=racine(6.25+1)=2.69
• d(O4, M2)=racine[|1-0.5|2 + [|0-0|2 ]=racine(0.25)=0.5
23
• C1={O1,O3} ,
• C2={O2,O4}
• Condition d’arrêt= partition stable
24
• Force
– Relativement efficace: O(tkn), où n est # objets, k est #clusters, et t est # itérations. Normalement, k, t << n.
– Rapide
• Faiblesses
– N’est pas applicable en présence d’attributs qui ne sont pasdu type intervalle (moyenne=?)
– On doit spécifier k (nombre de clusters)
– Les clusters sont construits par rapports à des objetsinexistants (les milieux)
25
Question
26
Comment faire
pour les données
catégoriques?