Kmeans clustering

2,180 views

Published on

Kmeans Clustering

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,180
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
114
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Kmeans clustering

  1. 1. Oleh : mulkan.ms@gmail.com http://softscients.blogspot.com KMmeans Clustering Oleh : mulkan.ms@gmail.com 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)
  2. 2. Oleh : mulkan.ms@gmail.com Tapi agar mudah saja, penulis mencoba untuk melakukan implementasi dari algoritma KMeans clustering yang bertugas untuk melakukan clustering atas sejumlah data yang mana bila Tugas Kmeans tentu sangat mudah yaitu menentukan masing cluster nya! Tentu kalau kita sebagai <operator> dengan sangat mudah nya melakukan hal tersebut, misalkan titik tengah nya Tapi kalau ada puluhan dan ratusan cluster! Apa kita akan membuat satu titik tengah nya?? Tentu tidak bukan! Sangat merepotkan sehingga kita perlu Kmeans melakukan hal tersebut mulkan.ms@gmail.com http://softscients.blogspot.com Tapi agar mudah saja, penulis mencoba untuk melakukan implementasi dari algoritma KMeans clustering yang bertugas untuk melakukan clustering atas sejumlah 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 hal tersebut, misalkan titik tengah nya 5,5; 20,30;dan 30,15 Tapi kalau ada puluhan dan ratusan cluster! Apa kita akan membuat satu titik tengah nya?? Tentu tidak bukan! Sangat merepotkan sehingga kita perlu Kmeans Tapi agar mudah saja, penulis mencoba untuk melakukan implementasi dari algoritma 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 -persatu titik tengah nya?? Tentu tidak bukan! Sangat merepotkan sehingga kita perlu Kmeans
  3. 3. Oleh : mulkan.ms@gmail.com 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 sumbu y) Berikut tampilan utama yang dibuat menggunakan bahasa java
  4. 4. Oleh : mulkan.ms@gmail.com http://softscients.blogspot.com User bisa langsung Buka File atau Copy Paste kan data nya kedalam textarea Matrix Input kemudian melakukan Parser untuk merapikan matrix nya Plot kan data yang akan menampilkan berikut
  5. 5. Oleh : mulkan.ms@gmail.com 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 menggunakan nilai random, dilengkapi dengan epoch dan jumlah minimal tiap anggota cluster, agar pencarian optimal Terkadang versi standar Kmeans tidak optimal dalam mencari centroid, koq bisa! Ya karena dalam versi standar TIDAK dilengkapi dengan jumlah minimal tiap anggota cluster sehingga bisa terjadi cluster tidak mempunyai anggota! (dibahas pada bagian akhir)
  6. 6. Oleh : mulkan.ms@gmail.com http://softscients.blogspot.com Bila sudah! Maka Mulai Sehingga tampil berikut Anda bisa Klik Kanan pada plot untuk Save As sebagai gambar seperti berikut
  7. 7. Oleh : mulkan.ms@gmail.com http://softscients.blogspot.com
  8. 8. Oleh : mulkan.ms@gmail.com 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!!
  9. 9. Oleh : mulkan.ms@gmail.com 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
  10. 10. Oleh : mulkan.ms@gmail.com 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
  11. 11. Oleh : mulkan.ms@gmail.com 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 untuk tiap cluster! Jika tidak mencapai hal yang diinginkan! Maka proses akan diulang kembali dan nilai centroid nya akan diatur ulang lagi dari awal, tentu menggunakan bilangan random. Tentu ada kasus dimana jumlah masing-masing anggota tidak pernah tercapai! Oleh karena itu harus di break! Itulah gunanya kita mengisi Maksimal Epoch nya Jika tidak ada nilai Maksimal Epoch tentu aplikasi akan berjalan terus menurus tanpa henti Kesimpulan Kmeans dapat digunakan untuk melakukan clustering untuk mencari titik centroid dengan baik
  12. 12. Oleh : mulkan.ms@gmail.com http://softscients.blogspot.com Berikut adalah contoh - contoh penerapan Kmeans Clustering dengan data yang lainnya Kemudian di clustering menjadi
  13. 13. Oleh : mulkan.ms@gmail.com http://softscients.blogspot.com

×