Table Of Contents
1. Konsep Dasar Clustering
2. Tahapan Clustering
3. K-Means Clustering
Algoritma K-Means
Rumus Umum K-Means
4. Case Study
Konsep Dasar
Klusterisasi Data, atau Data Clustering juga
disebut sebagai analisis klaster, analisis
segmentasi,
analisis
taxonomi,
atau
unsupervised classification.
Metode yang digunakan untuk membangun
grup dari objek-objek, atau klaster-klaster,
dimana objek-objek dalam satu kluster tertentu
memiliki kesamaan ciri yang tinggi dan objekobjek pada kluster yang berbeda memiliki
kesamaan ciri yang rendah.
Konsep Dasar
Tujuan
dari
klasterisasi
data
adalah
mengelompokkan
data
yang
memiliki
kesamaan ciri dan memisahkan data ke dalam
klaster yang berbeda untuk objek-objek yang
memiliki ciri yang berbeda.
Berbeda dengan klasifikasi, yang memiliki
kelas yang telah didefinisikan sebelumnya.
Dalam klasterisasi, klaster akan terbentuk
sendiri berdasarkan ciri objek yang dimiliki dan
kriteria pengelompokan yang telah ditentukan.
Tahapan Klasterisasi
1. Feature Selection
2. Proximity Measure
3. Clustering Criterion
4. Clustering Algorithm
Proximity Measure
Koefisien kemiripan menunjukkan kekuatan
hubungan antara dua data.
Semakin banyak kemiripan titik data satu sama
lain, maka semakin besar koefisien kesamaan.
Misalkan x = (x1, x2, ..., xd) dan y = (y1, y2, ..., yd)
adalah dua titik data pada d dimensi. Maka nilai
koefisien kemiripan antara x dan y adalah
beberapa nilai atribut fungsi s(x,y) = s(x1, x2, ..., xd,
y1, y2, ..., yd).
Proximity Measure
Pemilihan jarak pada clustering adalah sangat penting, dan pilihan yang
terbaik sering diperoleh melalui pengalaman, kemampuan, pengetahuan.
Pengukuran Jarak Data :
Numerik dengan banyak fitur atau dimensi (d) :
- Euclidean Distance :
d euclid ( x, y )
x
d
j 1
yj
1
2
- Manhattan Distance :
- Minkowski Distance :
d minkow ( x, y )
j 1
j 1
- Maximum Distance :
d max ( x, y ) max x j y j
j 1.. d
, r 1
x y 1 x y T
d mah ( x, y )
- Average Distance :
1
d
d ave ( x, y )
Kategorikal :
- Simple Matching Distance
0 if x y
( x, y )
1 if x y
xj yj
- Mahalanobis Distance :
d man ( x, y ) x j y j
1
r
x
j 1
2
y j
d sim ( x, y ) x j , y j
d
j 1
1
2
Proximity Measure
x
d
d euclid ( x1 , x2 )
Jika
1
x1 3
2
j 1
2
4
3
1j
x2 j
5
x2
7
1
2
1 2 2 3
2
1
2 2
1 1
2
1
2 2
2 2
2 1 .4
x
Hitung Mean Corected Matrix
0
i
1 2
x 3 2
2 2
0
1
2 3
1
4 3 1
0
3 3
1 0T 0
1 1
x2 x 2
n2
2 2
1
1
0
1 3 2 2 4 3
2 3
3
3
x1
56
x20
76
5 3
1
1
1 3
5 7 5 1
x2
6 3
2
2
2
2
1 1
0
1 2 2 0.7 0.7
1
1
0.7 0.7
0
3 2 2
0
1 1
2
4
2
1
1 2
2 1
2
8
4
2 4
2
Proximity Measure
Jika
1
x1 3
2
2
4
3
5
x2
7
5
1
1 0T 0
1 1
x2 x 2
n2
2 2
n group
1
n
C
i i
n1 n2
i 1
0.4
0.4
0.4
0. 4
0.4 0.8
1 1
0
1 2 2 0.7 0.7
1
1
0.7 0.7
0
3 2 2
0
0
1 1
2
4
2
1
1 2
2 1
2
8
4
2 4
2
2
niCi
i 1
0.8
1.6
1 2
3 0. 7
ni Ci
5 i 1
5 0. 7
0.8 0.4
2
0. 4
1
1
Adj
0.8 * 2 0.4 * 0.4
0.7
2 1
0.7
5 2
2
4
2 0.4
1.4 0.3
1 2 0.4
Proximity Measure
Jika
1
x1 3
2
5
x2
7
4
3
5
1
1
1
Adj
0.8 * 2 0.4 * 0.4
2 0.4
1.4 0.3
1 2 0.4
1 3 2 2 4 3
2 3
3
3
x1
x1 , x2 2 6 3 3 4 0
5 7 5 1
x2
6 3
2
2
d mah ( x1 , x2 )
x1 x2 1 x1 x2 T
d mah ( x1 , x2 )
x1 , x2 1 x1 , x2
5.6
4
0
1.1
22.2 4.7
1.4
0.3
0.3 4
0.6 0
Clustering Algorithm
Clustering Algorithm
Sequential
Hierarchical
Hard Clustering
Agglomerative (bottom-up)
Fuzzy Clustering
Divisive (top-down)
Possibilistic Clustering
Combinations
Klasterisasi K-Means
K-Means merupakan salah satu metode pengelompokan data non hirarki yang
digunakan untuk mempartisi N objek data ke dalam K kelompok.
Algoritma K-Means (MacQueen, 1967) :
1.
2.
3.
Tentukan jumlah cluster, lalu alokasikan data ke dalam cluster secara acak.
Hitung pusat cluster (C) dari data yang ada di masing-masing cluster.
1 m
Ci x j
m j 1
Hitung jarak (D) semua data terhadap masing-masing cluster, lalu alokasikan masingmasing data ke centroid terdekat (a).
Deuclid ( x, y )
ndim
4.
x
j 1
yj
1
2
1 , d min( D( x j , Ci ))
0 , lainnya
a ji
Kembali ke langkah 3, jika masih ada data yang berpindah cluster atau ada perubahan
nilai centroid, misal dengan batasan iterasi max atau dengan objective function.
atau
ndata k
F a ji D( x j , Ci )
j 1 i 1
k ndata
J xi
j 1 i 1
Cj
k ndata
D( xi , C j )
j 1 i 1
Fitur x
1
4
6
1
2
5
2
3
2
3
Fitur y
1
1
1
2
3
3
5
5
6
8
Kelompok 1
*
Kelompok 2
Kelompok 3
*
*
*
*
*
*
*
*
*
Inisialisasi :
K = 3,
IterasiMax = 2,
Fungsi Objektif (FInit) = 0,
Threshold (T) = 0.8.
Tentukan Hasil Akhir
Clusteringnya !
Fx
1
4
6
1
2
5
2
3
2
3
Total
Fy
1
1
1
2
3
3
5
5
6
8
K1
*
K2
K3
*
*
*
*
*
*
*
*
2
*
5
K1Fx
1
K1Fy
1
K2Fx
4
6
3
21
K2Fy
1
1
8
18
Centroid Fitur x
Centroid Fitur y
K3Fx
K3Fy
14
1 1 2 1 1.5 2
D x 1,1 , C2 4.2,3.6
D x 1,1 , C3 2,4.6667
0 2 0.5 2
1 4.2 2 1 3.6 2
1 2 2 1 4.6667 2
0.25 0.5
3.2 2 2.6 2
1 2 3.6667 2
3.8006
Kelompok
Kelompok
Baru
Sebelumnya
4.1231
3.8006
0.5000
1
1
2.6077
4.1767
2.6077
2
2
3.1623
5.4263
3.1623
2
2
3.5777
2.8480
0.5000
1
1
2.2804
1.6667
1.6667
3
3
1.0000
3.4319
1.0000
2
2
2.6077
0.3333
0.3333
3
3
1.8439
1.0541
1.0541
3
2
3.2558
1.3333
1.3333
3
3
4.5607
3.4801
3.4801
3
2
(Total berdasarkan kelompok
13.1746
+ 3.3333
= 17.5079
sebelumnya)
13.1746
3.3333
Data
Fx
Fy
Jarak Ke C 1
1
2
3
4
5
6
7
8
9
10
1
4
6
1
2
5
2
3
2
3
1
1
1
2
3
3
5
5
6
8
0.5000
3.0414
5.0249
0.5000
1.8028
4.2720
3.6401
4.0311
4.6098
6.8007
Jarak Ke C 2
Jarak Ke C 3
Min
Total
Sehingga,
F baru = 1.0000
1.0000+
Delta = | F baru F lama | = | 17.5079 0 | = 17.5079 ( > T) , Lanjutkan !
Fx
1
4
6
1
2
5
2
3
2
3
Total
Fy
1
1
1
2
3
3
5
5
6
8
K1
*
K2
K3
*
*
*
*
*
*
*
*
*
5
Jarak Ke C 1
0.5000
3.0414
5.0249
0.5000
1.8028
4.2720
3.6401
4.0311
4.6098
6.8007
1.0000
Jarak Ke C 2
4.1231
2.6077
3.1623
3.5777
2.2804
1.0000
2.6077
1.8439
3.2558
4.5607
13.1746
Jarak Ke C 3
3.8006
4.1767
5.4263
2.8480
1.6667
3.4319
0.3333
1.0541
1.3333
3.4801
3.3333
Min
Kelompok Baru
0.5000
1
2.6077
2
3.1623
2
0.5000
1
1.6667
3
1.0000
2
0.3333
3
1.0541
3
1.3333
3
3.4801
3
Fx
1
4
6
1
2
5
2
3
2
3
Total
Fy
1
1
1
2
3
3
5
5
6
8
K1
*
K2
K3
*
*
*
*
*
*
*
*
*
5
K1Fx
1
K1Fy
1
K2Fx
4
6
15
K2Fy
1
1
Centroid Fitur x
Centroid Fitur y
K3Fx
2
3
2
3
12
K3Fy
5
5
6
8
27
Centroid Fitur x
Centroid Fitur y
3
Total K3Fx / Total K3 = 12 / 5 = 2.4
Menghitung
Jarak
Data Ke Centroid :
Kelompok
Kelompok
Baru
Sebelumnya
1
1
1
0.5000
4.0552
4.6174
0.5000
1
1
2
4
1
3.0414
1.2019
4.6819
1.2019
2
2
3
6
1
5.0249
1.2019
5.6851
1.2019
2
2
4
1
2
0.5000
4.0139
3.6770
0.5000
1
1
5
2
3
1.8028
3.2830
2.4331
1.8028
1
3
6
5
3
4.2720
1.3333
3.5384
1.3333
2
2
7
2
5
3.6401
4.4845
0.5657
0.5657
3
3
8
3
5
4.0311
3.8873
0.7211
0.7211
3
3
9
2
6
4.6098
5.2705
0.7211
0.7211
3
3
10
3
8
6.8007
6.6416
2.6683
2.6683
3
3
Sehingga, F baru = 1.0000 + 3.7370 + 7.1093 = 11.8464 (Total berdasarkan kelompok
Total
1.0000
3.7370
Delta = | F baru F lama
| = | 11.8464
17.50797.1093
| = 5.6615 ( > T) sebelumnya)
,
Data
Fx
Lanjutkan !
Fy
Jarak Ke C 1
Jarak Ke C 2
Jarak Ke C 3
Min
Fx
1
4
6
1
2
5
2
3
2
3
Total
Fy
1
1
1
2
3
3
5
5
6
8
K1
*
K2
K3
*
*
*
*
*
*
*
*
*
5
Jarak Ke C 1
0.5000
3.0414
5.0249
0.5000
1.8028
4.2720
3.6401
4.0311
4.6098
6.8007
1.0000
Jarak Ke C 2
4.0552
1.2019
1.2019
4.0139
3.2830
1.3333
4.4845
3.8873
5.2705
6.6416
3.7370
Jarak Ke C 3
4.6174
4.6819
5.6851
3.6770
2.4331
3.5384
0.5657
0.7211
0.7211
2.6683
7.1093
Min
Kelompok Baru
0.5000
1
1.2019
2
1.2019
2
0.5000
1
1.8028
1
1.3333
2
0.5657
3
0.7211
3
0.7211
3
2.6683
3
Fx
1
4
6
1
2
5
2
3
2
3
Total
Fy
1
1
1
2
3
3
5
5
6
8
K1
*
*
*
K2
*
*
K3
*
*
*
*
4
K1Fx
1
1
2
K1Fy
1
2
3
K2Fx
4
6
15
K2Fy
1
1
Centroid Fitur x
Centroid Fitur y
K3Fx
2
3
2
3
10
K3Fy
5
5
6
8
24
Centroid Fitur x
Centroid Fitur y
Menghitung
Jarak
Data
Centroid
3
Total
K3FxKe
/ Total
K3 = 10 :/ 4 = 2.5
Kelompok
Kelompok
Baru
Sebelumnya
1
1
1
1.0541
4.0552
5.2202
1.0541
1
1
2
4
1
2.8480
1.2019
5.2202
1.2019
2
2
3
6
1
4.7726
1.2019
6.1033
1.2019
2
2
4
1
2
0.3333
4.0139
4.2720
0.3333
1
1
5
2
3
1.2019
3.2830
3.0414
1.2019
1
1
6
5
3
3.8006
1.3333
3.9051
1.3333
2
2
7
2
5
3.0732
4.4845
1.1180
1.1180
3
3
8
3
5
3.4319
3.8873
1.1180
1.1180
3
3
2 IterasiMax.
6
5.2705
0.5000
0.5000
3
3
Cek9 : Iterasi =
Stop4.0552
Iterasi !
8 = 2.5893
6.2272
6.6416
2.0616
3
3
10
Atau Cek 3 : F baru
+ 3.7370 + 4.7976
= 11.12392.0616
(Total
Delta = | FTotal
baru F lama | = | 11.1239 11.8464 | = 0.7224 ( < T=0.8) , Stop Iterasi
! berdasarkan kelompok
sebelumnya)
2.5893
3.7370
4.7976
Jika kondisi stop, maka buat Tabel Hasil Akhir Clustering Data dan Visualisasinya.
Data
Fx
Fy
Jarak Ke C 1
Jarak Ke C 2
Jarak Ke C 3
Min
Fx
1
4
6
1
2
5
2
3
2
3
Fy
1
1
1
2
3
3
5
5
6
8
Kelompok Baru
1
2
2
1
1
2
3
3
3
3
Selesai