kmeans clustering
DESCRIPTION
Kmeans ClusteringTRANSCRIPT
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)
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
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
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
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)
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
Oleh : [email protected] http://softscients.blogspot.com
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!!
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
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
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
Oleh : [email protected] http://softscients.blogspot.com
Berikut adalah contoh - contoh penerapan Kmeans Clustering dengan data yanglainnya
Kemudian di clustering menjadi
Oleh : [email protected] http://softscients.blogspot.com