13
Oleh : [email protected] http://softscients.blogspot.com KMmeans Clustering Oleh : [email protected] http://softscients.blogspot.com Pandanglah ilustrasi disamping yang terdapat 4 kluster yang direpresentasikan oleh gambar 2 koordinat XY (dalam kondisi real, akan terdapat banyak sekali paramater)

Kmeans clustering

Embed Size (px)

DESCRIPTION

Kmeans Clustering

Citation preview

Page 1: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

KMmeans ClusteringOleh : [email protected]

http://softscients.blogspot.com

Pandanglah ilustrasi disamping yangterdapat 4 kluster yangdirepresentasikan oleh gambar 2koordinat XY (dalam kondisi real, akanterdapat banyak sekali paramater)

Page 2: Kmeans clustering

Oleh : [email protected]

Tapi agar mudah saja, penulis mencoba untuk melakukan implementasi darialgoritma KMeans clustering yang bertugas untuk melakukan clustering atassejumlah data yang mana bila

Tugas Kmeans tentu sangat mudah yaitu menentukanmasing cluster nya!

Tentu kalau kita sebagai <operator> dengan sangat mudah nya melakukan haltersebut, misalkan titik tengah nya

Tapi kalau ada puluhan dan ratusan cluster! Apa kita akan membuat satutitik tengah nya?? Tentu tidak bukan! Sangat merepotkan sehingga kita perlu Kmeansmelakukan hal tersebut

[email protected] http://softscients.blogspot.com

Tapi agar mudah saja, penulis mencoba untuk melakukan implementasi darialgoritma KMeans clustering yang bertugas untuk melakukan clustering atassejumlah data yang mana bila data tersebut diplotkan menjadi berikut

Tugas Kmeans tentu sangat mudah yaitu menentukan Centroid <titik pusat> masing

Tentu kalau kita sebagai <operator> dengan sangat mudah nya melakukan haltersebut, misalkan titik tengah nya 5,5; 20,30;dan 30,15

Tapi kalau ada puluhan dan ratusan cluster! Apa kita akan membuat satutitik tengah nya?? Tentu tidak bukan! Sangat merepotkan sehingga kita perlu Kmeans

Tapi agar mudah saja, penulis mencoba untuk melakukan implementasi darialgoritma KMeans clustering yang bertugas untuk melakukan clustering atas

Centroid <titik pusat> masing-

Tentu kalau kita sebagai <operator> dengan sangat mudah nya melakukan hal

Tapi kalau ada puluhan dan ratusan cluster! Apa kita akan membuat satu -persatutitik tengah nya?? Tentu tidak bukan! Sangat merepotkan sehingga kita perlu Kmeans

Page 3: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

Penulis telah membuat aplikasi sederhana yang telah dilengkapi dengan

1. Membaca data dalam bentuk file ascii

Sehingga bagi user yang mempunyai data nya bisa disimpan dalam bentuk*.txt

2. Dilengkapi plot data (khusus untuk 2 dimensi saja yaitu sumbu x dan sumbuy)

Berikut tampilan utama yang dibuat menggunakan bahasa java

Page 4: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

User bisa langsung Buka File atau Copy Paste kan data nya kedalam textarea MatrixInput kemudian melakukan Parser untuk merapikan matrix nya

Plot kan data yang akan menampilkan berikut

Page 5: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

Ternyata ada 3 cluster menurut plot grafik nya!

Kemudian kita set

Kmeans tentu sudah penulis modifikasi dalam hal ini, nilai centroid menggunakannilai random, dilengkapi dengan epoch dan jumlah minimal tiap anggota cluster,agar pencarian optimal

Terkadang versi standar Kmeans tidak optimal dalammencari centroid, koq bisa! Ya karena dalam versi standarTIDAK dilengkapi dengan jumlah minimal tiap anggotacluster sehingga bisa terjadi cluster tidak mempunyaianggota! (dibahas pada bagian akhir)

Page 6: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

Bila sudah! Maka Mulai

Sehingga tampil berikut

Anda bisa Klik Kanan pada plot untuk Save As sebagai gambar seperti berikut

Page 7: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

Page 8: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

Ternyata Centroid nya yaitu

5,5; 18,29; dan 29,14

Bandingkan dengan kita menebak posisi Centroid diawal yaitu

5,5; 20,30;dan 30,15

Ternyata beda nya sangat tipis sekali!!

Page 9: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

Kembali ke masalah Jumlah Minimal tiap Anggota

Misalkan kasus berikut

Yang bila diplotkan menjadi 4 cluster

Ada 2 kondisi yaitu

Jumlah minimal tiap Anggota 1 dan 10

Sedangkan nilai Jumlah Kluster 4 dan Maksimal Epoch 20

Akan menghasilkan perbedaan mencolok

Page 10: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

Lihat dengan Jumlah Minimal tiap Anggota = 1 ternyata posisi centroid tidak tepat!Alias melenceng sangat jauh!

Lihat hasil yang dibawah ini

Page 11: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

Ternyata jika kita set Jumlah Minimal tiap Anggota 10 maka pencarian akan optimal!

Centroid nya tepat sekali!

Kenapa hal ini bisa terjadi??

Karena pada proses looping terjadi pengecekan masing-masing jumlah anggota untuktiap cluster! Jika tidak mencapai hal yang diinginkan! Maka proses akan diulangkembali dan nilai centroid nya akan diatur ulang lagi dari awal, tentu menggunakanbilangan random.

Tentu ada kasus dimana jumlah masing-masing anggota tidak pernah tercapai! Olehkarena itu harus di break! Itulah gunanya kita mengisi Maksimal Epoch nya

Jika tidak ada nilai Maksimal Epoch tentu aplikasi akan berjalan terus menurustanpa henti

Kesimpulan

Kmeans dapat digunakan untuk melakukan clustering untuk mencari titik centroiddengan baik

Page 12: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com

Berikut adalah contoh - contoh penerapan Kmeans Clustering dengan data yanglainnya

Kemudian di clustering menjadi

Page 13: Kmeans clustering

Oleh : [email protected] http://softscients.blogspot.com