Jumat, 29 Mei 2015

Mencari centroid dengan Kmeans Clustering





Teknik clustering seringkali dipakai untuk mencari titik tengah-pusat sebuah cluster dengan K kluster yang sudah diketahui. Pada gambar disamping, kamu bisa melihat bahwa secara visual terdapat 3 Kluster. Untuk itu kita bisa menggunakan K-Means Clustering. K-Means bekerja dengan cara yang sederhan. Tahap pertama, kita akan menentukan sebuah Kelas, misalkan pada contoh disamping kita akan menentukan sebuah 3 kelas. Langkah selanjutnya menentukan centroid untuk 3 kelas tersebut, kalau penulis menggunakan means data sehingga masing-masing data mempunyai nilai centroid awal yang sama.


Penulis menggunakan bahasa python dan matplotlib untuk menulis algoritma K-Means.

import numpy as np
from  pustaka_kmeans import PustakaKMeans
from  matplotlib import pyplot as plt

data_masuk = np.array([[7,4,8,8,3,3,5,3,9,3,8,2,1,3],[8,13,7,9,12,1,3,13,8,5,8,13,3,14]])
#bikin plot
plt.figure('plot data - www.softscients.web.id')
b = plt.scatter(data_masuk[0,:],data_masuk[1,:],s=40,c=u'b')

kelas = 3
kmeans = PustakaKMeans()
kmeans.hitungKMeans(data_masuk,kelas)

print 'jumlah anggota kelas',kmeans.jumlah_anggota_kelas
print 'nilai total anggota kelas\n',kmeans.nilai_total_anggota_kelas
print  'centroid akhir\n',kmeans.centroid
print 'klustering final',kmeans.distribusi_kelas

plt.hold(True)
plt.scatter(kmeans.centroid[:,0],kmeans.centroid[:,1],s=40,c=u'r')
plt.title('mencari centroid dengan kmeans clustering')
plt.show()      
 



Menghasilkan berikut, dengan titik tengah sebagai centroid masing-masing kelas.




Posting Komentar