clustering ( season 1 ) k-means

18
Clustering (Season 1) K-Means Pengenalan Pola Materi 4 Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012

Upload: lilika

Post on 04-Jan-2016

99 views

Category:

Documents


11 download

DESCRIPTION

Clustering ( Season 1 ) K-Means. Pengenalan Pola Materi 4. Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012. Konsep Clustering. Klasifikasi melakukan pengelompokan data dimana setiap data sudah ada label kelasnya - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Clustering ( Season 1 ) K-Means

Clustering (Season 1)K-Means

Pengenalan Pola

Materi 4

Eko Prasetyo

Teknik Informatika

UPN “Veteran” Jawa Timur

2012

Page 2: Clustering ( Season 1 ) K-Means

2

Konsep ClusteringKlasifikasi melakukan pengelompokan data dimana

setiap data sudah ada label kelasnya◦ Shingga pekerjaan berikutnya adalah membuat model

untuk dapat melakukan prediksi pada data baru yang kemudian muncul untuk diketahui kelasnya.

Clustering (pengelompokan) melakukan pemisahan/pemecahan/segmentasi data kedalam sejumlah cluster (kelompok) menurut karakteristik tertentu yang diinginkan. ◦ Dalam pekerjaan clustering label dari setiap data belum

diketahui,

◦ Diharapkan nantinya dapat diketahui kelompok data untuk kemudian diberikan label sesuai keinginan.

Page 3: Clustering ( Season 1 ) K-Means

3

Konsep Clustering Cluster analysis adalah pekerjaan yang

mengelompokkan data (obyek) yang didasarkan hanya pada informasi yang ditemukan dalam data yang menggambarkan obyek tersebut dan hubungan diantaranya (Tan, 2006).

Tujuan: agar obyek-obyek yang bergabung dalam sebuah kelompok (cluster) merupakan obyek-obyek yang mirip (atau berhubungan) satu sama lain dan berbeda (atau tidak berhubungan) dengan obyek dalam kelompok yang lain.

Lebih besar kemiripannya (atau homogenitasnya) dalam kelompok dan lebih besar perbedaannya diantara kelompok yang lain, konsep ini yang dibahas dalam clustering.

0 2 4 6 80

2

4

6

8

0 2 4 6 80

2

4

6

8

0 2 4 6 80

2

4

6

8

0 2 4 6 80

2

4

6

8

Data asli

Dua cluster

Tiga cluster

Empat cluster

Page 4: Clustering ( Season 1 ) K-Means

4

Konsep Clustering Bidang penerapan teknik clustering: kedokteran,

kesehatan, psikologi, hukum, statistik, astronomi, klimatologi dan sebagainya. ◦ Kedokteran, teknik clustering dapat digunakan untuk

mengelompokkan jenis-jenis penyakit berbahaya berdasarkan karakteristik / sifat-sifat penyakit pasien.

◦ Kesehatan, dapat digunakan untuk mengelompokkan jenis-jenis makanan berdasarkan kandungan kalori, vitamin, protein.

Penggunaan hasil clustering◦ Summarization, protoype yang dapat mewakili seluruh data◦ Compression, data-data dalam cluster yang sama dapat

dikompres dengan diwakili oleh index prototype dari setiap cluster

◦ Efisiensi pencarian tetangga terdekat

Page 5: Clustering ( Season 1 ) K-Means

5

K-Means Metode analisis cluster yang mengarah pada pemartisian

N obyek pengamatan kedalam K kelompok (cluster) dimana setiap obyek pengamatan dimiliki oleh sebuah kelompok/cluster dengan mean (rata-rata) terdekat.

Salah satu metode pengelompokan data non hierarki (partitioning) yang berusaha mempartisi data ke dalam bentuk dua atau lebih cluster. ◦ Mempartisi data ke dalam cluster sehingga data yang memiliki

karakteristik yang sama dikelompokkan ke dalam satu cluster yang sama dan data yang mempunyai karakteristik yang berbeda dikelompokkan ke dalam cluster yang lain.

◦ Tujuannya adalah meminimalisasikan fungsi obyektif yang diset dalam proses pengelompokan, yang pada umumnya berusaha meminimalisasikan variasi di dalam suatu cluster dan memaksimalkan variasi antar cluster.

Page 6: Clustering ( Season 1 ) K-Means

6

Algoritma K-Means1. Tentukan jumlah kelompok2. Alokasikan data ke dalam kelompok secara acak3. Hitung pusat cluster (centroid/rata-rata) dari data

yang ada di masing-masing cluster4. Alokasikan masing-masing data ke centroid/rata-

rata terdekat5. Kembali ke Langkah 3, ◦ apabila masih ada data yang berpindah cluster, ◦ atau apabila perubahan nilai centroid ada yang di atas

nilai threshold yang ditentukan, ◦ atau apabila perubahan nilai pada fungsi obyektif yang

digunakan masih di atas nilai threshold yang ditentukan

Page 7: Clustering ( Season 1 ) K-Means

7

Algoritma K-Means Jika M menyatakan jumlah data dalam sebuah cluster, i

menyatakan fitur ke-i dalam sebuah cluster dan p menyatakan dimensi data, maka untuk menghitung centroid fitur ke-i digunakan formula:

◦ dilakukan sebanyak p dimensi, sehingga i mulai 1 sampai p. Cara mengukur jarak data ke pusat cluster, diantaranya :

Euclidean (Bezdek, 1981), Manhattan/City Block (Miyamoto dan Agusta, 1995), dan Minkowsky (Miyamoto dan Agusta, 1995)

M

jji x

MC

1

1

p

jjj xxxxxxD

1

2

1221212 ),(

p

jjj xxxxxxD

11211212 ),(

Euclidean Manhattan/City Block

Page 8: Clustering ( Season 1 ) K-Means

8

Algoritma K-Means Pengalokasian data ke cluster dapat dirumuskan sebagai berikut

(MacQueen, 1967):

◦ Dimana ail adalah nilai keanggotaan titik xi ke pusat cluster Cl, d adalah jarak terpendek dari data xi ke K cluster setelah dibandingkan, dan

Cl centroid (pusat cluster) ke-l.

Fungsi objektif berdasarkan jarak dan nilai keanggotaan data dalam cluster

◦ Dimana N adalah jumlah data, K adalah jumlah cluster, ail adalah nilai keanggotaan titik data xi ke pusat cluster Cl, Cl adalah pusat cluster ke-l, D(xi,Cl) adalah jarak titik xi ke cluster Cl yang diikuti.

◦ Untuk a mempunyai nilai 0 atau 1. Apabila suatu data merupakan anggota suatu kelompok maka nilai ail =1 , jika tidak, akan maka nilai ail =0

lainnya

CxDda liil 0

)},(min{1

N

i

K

lliic CxDaJ

1 1

2,

Page 9: Clustering ( Season 1 ) K-Means

9

Fungsi K-Means di matlab [IDX,C,sumd,D] = kmeans(X,k) [IDX,C,sumd,D] = kmeans(...,’distance’,val)

Parameter KeteranganX Matrik data set MN, dimana M adalah jumlah data, N adalah jumlah fitur.k Nilai yang menyatakan jumlah clusterIDX Matrik M1 yang menyatakan indeks cluster yang diikuti setiap data, nilai

didalamnya mulai 1 sampai k. M adalah jumlah data.C Matrik kN yang menyatakan lokasi centroid setiap cluster, dimana k adalah

jumlah cluster, N adalah jumlah fitursumd Matrik 1k yang menyatakan jumlah jarak semua data yang tergabung dalam

setiap cluster.D Matrik Mk yang menyatakan jarak dari setiap data ke centroid cluster. M

adalah jumlah data, k adalah jumlah cluster.val Nilai untuk parameter ‘distance’. Pilihan nilainya:

'sqEuclidean', untuk jarak Squared Euclidean, nilai default yang digunakan.

'cityblock', untuk Manhattan (block city). 'Hamming', untuk jarak Hamming (prosentase perbedaan bit), hanya

cocok untuk data biner.

Page 10: Clustering ( Season 1 ) K-Means

10

Contoh Ada 10 data pada data set. Dimensi data ada 2 fitur

(agar mudah dalam visualisasi koordinat kartesius).

Fitur yang digunakan dalam pengelompokan adalah x dan y

Jarak yang digunakan adalah Euclidean distance.

Jumlah cluster (K) adalah 3. Threshold (T) yang

digunakan untuk perubahan fungsi objektif adalah 0.1.

Data ke-i Fitur x Fitur y1 1 12 4 13 6 14 1 25 2 36 5 37 2 58 3 59 2 6

10 3 8

Page 11: Clustering ( Season 1 ) K-Means

11

Inisialisasi

Data ke-i Fitur x Fitur y C1 C2 C31 1 1 *2 4 1 *3 6 1 *4 1 2 *5 2 3 *6 5 3 *7 2 5 *8 3 5 *9 2 6 *

10 3 8 *

Centroid awal yang didapat

Cluster Fitur x Fitur y

1 1.0000 1.0000

2 3.4000 3.8000

3 2.7500 3.7500

Data anggota Fitur x Fitur y3 6 14 1 26 5 37 2 5

10 3 8M Jumlah x Jumlah y5 17 19

Rata-rata 3.4000 3.8000

Data anggota Fitur x Fitur y2 4 15 2 38 3 59 2 6M Jumlah x Jumlah y4 11 15

Rata-rata 2.7500 3.7500

C1 C2 C3

0.0000  0 0 

 0  0 9.1250

 0 14.6000 0 

 0 9.0000 0 

 0  0 1.1250

 0 3.2000 0 

 0 3.4000 0 

 0 0  1.6250

 0 0  5.6250

 0 17.8000 0 

0.0000 48.0000 17.5000

Keanggotaan data dalam cluster Fungsi objektif

Nilai FO awal = 0Nilai FO baru = 65.5Perubahan FO = |65.5-0| = 65.5

Masih diatas TData anggota Fitur x Fitur y

1 1 1M Jumlah x Jumlah y1 1 11

Rata-rata 1.0000 1.0000

Page 12: Clustering ( Season 1 ) K-Means

12

Iterasi 1

Data ke-i C1 C2 C3 Min C Baru

1 0.0000 3.6878 3.2596 0.0000 12 3.0000 2.8636 3.0208 2.8636 23 5.0000 3.8210 4.2573 3.8210 24 1.0000 3.0000 2.4749 1.0000 15 2.2361 1.6125 1.0607 1.0607 36 4.4721 1.7889 2.3717 1.7889 27 4.1231 1.8439 1.4577 1.4577 38 4.4721 1.2649 1.2748 1.2649 29 5.0990 2.6077 2.3717 2.3717 3

10 7.2801 4.2190 4.2573 4.2190 2

Jarak dan keanggotaan data dalam cluster

Centroid baru yang didapat

Data anggota Fitur x Fitur y1 1 14 1 2M Jumlah x Jumlah y2 2 3

Rata-rata 1.0000 1.5000

Cluster Fitur x Fitur y1 1.0000 1.50002 4.2000 3.60003 2.000 4.6667

Data anggota Fitur x Fitur y2 4 13 6 16 5 38 3 5

10 3 8M Jumlah x Jumlah y5 21 18

Rata-rata 4.2000 3.6000

Data anggota Fitur x Fitur y

5 2 3

7 2 5

9 2 6

M Jumlah x Jumlah y

3 6 14

Rata-rata 2.0000 4.6667

C1 C2 C3

0.2500 0  0

 0 6.8000 0

 0 10.0000 0

0.2500 0  0 

 0 0  2.7778

 0 1.0000 0 

 0 0  0.1111

 0 3.4000 0 

 0 0  1.7778

 0 20.8000 0 

0.5000 42.0000 4.6667

Nilai FO awal = 65.5Nilai FO baru = 47.1667Perubahan FO = |47.1667 - 65.5| = 18.3333 Masih diatas T

Fungsi objektif

Ada 4 data berpindah cluster2 dari 3 ke 24 dari 2 ke 17 dari 2 ke 38 dari 3 ke 1

Page 13: Clustering ( Season 1 ) K-Means

13

Iterasi 2

Data ke-i C1 C2 C3 Min C Baru

1 0.5000 4.1231 3.8006 0.5000 12 3.0414 2.6077 4.1767 2.6077 23 5.0249 3.1623 5.4263 3.1623 24 0.5000 3.5777 2.8480 0.5000 15 1.8028 2.2804 1.6667 1.6667 36 4.2720 1.0000 3.4319 1.0000 27 3.6401 2.6077 0.3333 0.3333 38 4.0311 1.8439 1.0541 1.0541 39 4.6098 3.2558 1.3333 1.3333 3

10 6.8007 4.5607 3.4801 3.4801 3

Jarak dan keanggotaan data dalam cluster

Centroid baru yang didapat

Data anggota Fitur x Fitur y1 1 14 1 2M Jumlah x Jumlah y2 2 3

Rata-rata 1.0000 1.5000

Cluster Fitur x Fitur y1 1.0000 1.50002 5.0000 1.66673 2.4000 5.4000

Nilai FO awal = 47.1667Nilai FO baru = 19.5667Perubahan FO = |19.5667 - 47.1667| = 27.6000 Masih diatas T

Fungsi objektif

Data anggota Fitur x Fitur y

2 4 1

3 6 1

6 5 3

M Jumlah x Jumlah y

3 15 5

Rata-rata 5.0000 1.6667

Data anggota Fitur x Fitur y

5 2 3

7 2 5

8 3 5

9 2 6

10 3 8

M Jumlah x Jumlah y

5 12 27

Rata-rata 2.4000 5.4000

C1 C2 C3

0.2500 0  0 

0  1.4444 0 

0  1.4444 0 

0.2500 0  0 

0  0  5.9200

0  1.7778 0 

0  0  0.3200

0  0  0.5200

0  0  0.5200

0  0  7.1200

0.5000 4.6667 14.4000

Ada 2 data berpindah cluster: 8 dan 108 dari 2 ke 310 dari 2 ke 3

Page 14: Clustering ( Season 1 ) K-Means

14

Iterasi 3

Data ke-i C1 C2 C3 Min C Baru

1 0.5000 4.0552 4.6174 0.5000 12 3.0414 1.2019 4.6819 1.2019 23 5.0249 1.2019 5.6851 1.2019 24 0.5000 4.0139 3.6770 0.5000 15 1.8028 3.2830 2.4331 1.8028 16 4.2720 1.3333 3.5384 1.3333 27 3.6401 4.4845 0.5657 0.5657 38 4.0311 3.8873 0.7211 0.7211 39 4.6098 5.2705 0.7211 0.7211 3

10 6.8007 6.6416 2.6683 2.6683 3

Jarak dan keanggotaan data dalam cluster

Centroid baru yang didapatCluster Fitur x Fitur y

1 1.3333 2.00002 5.0000 1.66673 2.5000 6.0000

Nilai FO awal = 19.5667Nilai FO baru = 14.3333Perubahan FO = |14.3333 - 19.5667| = 5.2333 Masih diatas T

Fungsi objektif

Data anggota Fitur x Fitur y

2 4 1

3 6 1

6 5 3

M Jumlah x Jumlah y

3 15 5

Rata-rata 5.0000 1.6667

C1 C2 C3

1.1111 0  0 

0  1.4444 0 

0  1.4444 0 

0.1111 0  0 

1.4444 0  0 

0  1.7778 0 

0  0  1.2500

0  0  1.2500

0  0  0.2500

0  0  4.2500

2.6667 4.6667 7.0000Data anggota Fitur x Fitur y

1 1 1

4 1 2

5 2 3

M Jumlah x Jumlah y

3 4 6

Rata-rata 1.3333 2.0000

Data anggota Fitur x Fitur y

7 2 5

8 3 5

9 2 6

10 3 8

M Jumlah x Jumlah y

4 10 24

Rata-rata 2.5000 6.0000

Data 5 berpindah cluster dari 3 ke 1

Page 15: Clustering ( Season 1 ) K-Means

15

Iterasi 4

Data ke-i C1 C2 C3 Min C Baru

1 1.0541 4.0552 5.2202 1.0541 12 2.8480 1.2019 5.2202 1.2019 23 4.7726 1.2019 6.1033 1.2019 24 0.3333 4.0139 4.2720 0.3333 15 1.2019 3.2830 3.0414 1.2019 16 3.8006 1.3333 3.9051 1.3333 27 3.0732 4.4845 1.1180 1.1180 38 3.4319 3.8873 1.1180 1.1180 39 4.0552 5.2705 0.5000 0.5000 3

10 6.2272 6.6416 2.0616 2.0616 3

Jarak dan keanggotaan data dalam cluster

Centroid baru yang didapatCluster Fitur x Fitur y

1 1.3333 2.00002 5.0000 1.66673 2.5000 6.0000

Nilai FO awal = 14.3333Nilai FO baru = 14.3333Perubahan FO = |14.3333 – 14.3333| = 0.0000 Sudah dibawah T

Fungsi objektif

Data anggota Fitur x Fitur y

2 4 1

3 6 1

6 5 3

M Jumlah x Jumlah y

3 15 5

Rata-rata 5.0000 1.6667

C1 C2 C3

1.1111 0  0 

0  1.4444 0 

0  1.4444 0 

0.1111 0  0 

1.4444 0  0 

0  1.7778 0 

0  0  1.2500

0  0  1.2500

0  0  0.2500

0  0  4.2500

2.6667 4.6667 7.0000Data anggota Fitur x Fitur y

1 1 1

4 1 2

5 2 3

M Jumlah x Jumlah y

3 4 6

Rata-rata 1.3333 2.0000

Data anggota Fitur x Fitur y

7 2 5

8 3 5

9 2 6

10 3 8

M Jumlah x Jumlah y

4 10 24

Rata-rata 2.5000 6.0000

Tidak ada data yang berpindah cluster

Page 16: Clustering ( Season 1 ) K-Means

16

Perubahan hasil clustering

0 2 4 6 80

2

4

6

8

1 2 34

5 6

7 89

10

0 2 4 6 80

2

4

6

8

0 2 4 6 80

2

4

6

8

0 2 4 6 80

2

4

6

8

0 2 4 6 80

2

4

6

8

0 2 4 6 80

2

4

6

8

Data asli Inisialisasi Hasil setelah iterasi 1

Hasil setelah iterasi 2 Hasil setelah iterasi 3 Hasil setelah iterasi 4

Page 17: Clustering ( Season 1 ) K-Means

17

Proses di matlab

data = [1 14 16 11 22 35 32 53 52 63 8];

dataset_clustering_2_dimensik = 3;[idx,C,sumd,D] = kmeans(data,k);figure('Position',[300 300 210 160]);plot(data(idx==1,1),data(idx==1,2),'ko',data(idx==2,1),data(idx==2,2),'k+',data(idx==3,1),data(idx==3,2),'kd','MarkerSize',6);

axis([0 9,0 9]);hold onplot(C(:,1),C(:,2),'kx','MarkerSize',8);hold offCdisplay('IDX | JARAK KE C1 | JARAK KE C2 | JARAK KE C3');[idx D.^0.5]

Nama file: dataset_clustering_2_dimensi.m

Nama file: contoh_kmeans.m

Page 18: Clustering ( Season 1 ) K-Means

18

ANY QUESTION ?To Be Continued … Clustering (Season 2)