Anda di halaman 1dari 23

Clustering Dokumen (K-Means)

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

Penentuan informasi fitur yang digunakan.

2. Proximity Measure

Tahap kuantifikasi item kemiripan data.

3. Clustering Criterion

Penentuan fungsi pembobotan / tipe aturan.

4. Clustering Algorithm

Metode klaster berdasarkan ukuran kemiripan data dan kriteria


klasterisasi.

5. Validation of the Result


6. Interpretation of the Result

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

Jika x1=(1,2) dan x2=(2,3). Hitunglah Jarak x1 dan x2 dengan Euclidean!

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

Hitunglah Jarak x 1 dan x2 dengan Mahalanobis!

(Note : Mahalanobis biasanya digunakan untuk menghitung jarak antar cluster)

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

Hitung Matrik Covarian (C i)


1 0T 0
1 1 1
C1
x1 x1
n1
3 1 1
C2

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

Hitunglah Jarak x 1 dan x2 dengan mahalanobis!

Hitung Matrik Covarian (C i)


1 0T 0
1 1 1
C1
x1 x1
n1
3 1 1
C2

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

0.4 0.8 1.44 0.4 0.8


0.3 0.6

Proximity Measure

Jika

1
x1 3
2

5
x2
7

4
3

5
1

Hitunglah Jarak x 1 dan x2 dengan mahalanobis!

1
1
Adj
0.8 * 2 0.4 * 0.4

2 0.4
1.4 0.3
1 2 0.4

0.4 0.8 1.44 0.4 0.8


0.3 0.6

Hitung Mean Different (X 1,X2) :

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

Note : m menyatakan jumlah data pada


suatu kelompok, dan i menyatakan fitur
ke-i dalam sebuah kelompok.

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

Contoh Studi Kasus

Perhatikan dataset berikut :


Data
1
2
3
4
5
6
7
8
9
10

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
*

Bentuk Visualisasi data :

Kelompok 2

Kelompok 3

*
*
*
*
*
*
*
*
*

Inisialisasi :
K = 3,
IterasiMax = 2,
Fungsi Objektif (FInit) = 0,
Threshold (T) = 0.8.
Tentukan Hasil Akhir
Clusteringnya !

Contoh Studi Kasus (Cont.)

Menghitung Centroid Setiap Cluster :


Data
1
2
3
4
5
6
7
8
9
10

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

Hasil Centroid Setiap Cluster :


Kelompok

Centroid Fitur x

Centroid Fitur y

Total K1Fx / Total K1 = 2 / 2 = 1

Total K1Fy / Total K1 = 3 / 2 = 1.5

Total K2Fx / Total K2 = 21 / 5 = 4.2

Total K2Fy / Total K2 = 18 / 5 = 3.6

Total K3Fx / Total K3 = 6 / 3 = 2

Total K3Fy / Total K3 = 14 / 3 = 4.6667

K3Fx

K3Fy

14

Contoh Studi Kasus (Cont.)

Menghitung Jarak Data Ke Centroid (Euclidian Distance) :


D x 1,1 , C1 1,1.5

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

10.24 6.76 17 4.1231

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 !

Contoh Studi Kasus (Cont.)

Iterasi 1 : (Mengalokasikan Setiap Data Pada Centroid Terdekat)


Data
1
2
3
4
5
6
7
8
9
10

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

Contoh Studi Kasus (Cont.)

Menghitung Centroid Setiap Cluster :


Data
1
2
3
4
5
6
7
8
9
10

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

Hasil Centroid Setiap Cluster :


Kelompok

Centroid Fitur x

Centroid Fitur y

Total K1Fx / Total K1 = 2 / 2 = 1

Total K1Fy / Total K1 = 3 / 2 = 1.5

Total K2Fx / Total K2 = 15 / 3 = 5

Total K2Fy / Total K2 = 5 / 3 = 1.6667

Total K3Fx / Total K3 = 12 / 5 = 2.4

Total K3Fy / Total K3 = 27 / 5 = 5.4

K3Fx

2
3
2
3
12

K3Fy

5
5
6
8
27

Contoh Studi Kasus (Cont.)

Hasil Centroid Setiap Cluster :


Kelompok

Centroid Fitur x

Centroid Fitur y

Total K1Fx / Total K1 = 2 / 2 = 1

Total K1Fy / Total K1 = 3 / 2 = 1.5

Total K2Fx / Total K2 = 15 / 3 = 5

Total K2Fy / Total K2 = 5 / 3 = 1.6667

3
Total K3Fx / Total K3 = 12 / 5 = 2.4
Menghitung
Jarak
Data Ke Centroid :

Total K3Fy / Total K3 = 27 / 5 = 5.4

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

Contoh Studi Kasus (Cont.)

Iterasi 2 : (Mengalokasikan Setiap Data Pada Centroid Terdekat)


Data
1
2
3
4
5
6
7
8
9
10

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

Contoh Studi Kasus (Cont.)

Menghitung Centroid Setiap Cluster :


Data
1
2
3
4
5
6
7
8
9
10

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

Hasil Centroid Setiap Cluster :


Kelompok

Centroid Fitur x

Centroid Fitur y

Total K1Fx / Total K1 = 4 / 3 = 1.3333

Total K1Fy / Total K1 = 6 / 3 = 2

Total K2Fx / Total K2 = 15 / 3 = 5

Total K2Fy / Total K2 = 5 / 3 = 1.6667

Total K3Fx / Total K3 = 10 / 4 = 2.5

Total K3Fy / Total K3 = 24 / 4 = 6

K3Fx

2
3
2
3
10

K3Fy

5
5
6
8
24

Contoh Studi Kasus (Cont.)

Hasil Centroid Setiap Cluster :


Kelompok

Centroid Fitur x

Centroid Fitur y

Total K1Fx / Total K1 = 4 / 3 = 1.3333

Total K1Fy / Total K1 = 6 / 3 = 2

Total K2Fx / Total K2 = 15 / 3 = 5

Total K2Fy / Total K2 = 5 / 3 = 1.6667

Menghitung
Jarak
Data
Centroid
3
Total
K3FxKe
/ Total
K3 = 10 :/ 4 = 2.5

Total K3Fy / Total K3 = 24 / 4 = 6

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

Contoh Studi Kasus (Cont.)

Hasil Akhir Clustering Data :


Data
1
2
3
4
5
6
7
8
9
10

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

Visualisasi Hasil Akhir Clustering :

Selesai

Anda mungkin juga menyukai