KMeans Clustering

By | January 15, 2021
Print Friendly, PDF & Email
1,431 Views

Sinopsis

K-Means Clustering  sudah banyak dibahas, salah satunya ada di Buku Belajar Mudah Python dengan Package Open Source kalian bisa beli di Toko buku kesayangan kalian. Disini tidak dibahas mengenai langkah kerja secara detail karena dibuku tersebut sudah terbit, maka disini hanya menunjukan kepada kalian cara penggunaannya. Kmeans clustering yang ditulis diambil dari referensi berikut:

  1. https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_ml/py_kmeans/py_kmeans_understanding/py_kmeans_understanding.html
  2. https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_ml/py_kmeans/py_kmeans_opencv/py_kmeans_opencv.html#additional-resources
Kemudian penulis tulis ulang agar mudah dipelajari, kalau kalian ingin tahu lebih dalam secara step by step, kalian beli saja bukunya.

Dataset

Untuk dataset, kita mencoba untuk versi simple  dengan sebuah array berikut

data_masuk = np.array([[7,8],
                        [4,13],
                        [8,7],
                        [8 ,9],
                        [3 ,12],
                        [3 ,1],
                        [5 ,3],
                        [3 ,13],
                        [9 ,8],
                        [3 ,5],
                        [8 ,8],
                        [2 ,13],
                        [1 ,3],
                        [3 ,14]],dtype='float32')

Penggunaan library

Cara menggunakan library dengan memanggil function KMeans() seperti berikut ini

kmeans = pustakakmeans.KMeans()
jumlah_kelas = 3
kmeans.hitung(data_masuk,jumlah_kelas,epsilon=0.01, max_iterasi=3)

print  ('center\n',kmeans.center)

plt.figure('plot data - www.softscients.web.id')
b = plt.scatter(data_masuk[:,0],data_masuk[:,1],s=40,c=u'b')
plt.hold(True)
plt.scatter(kmeans.center[:,0],kmeans.center[:,1],s=40,c=u'r')
plt.title('mencari centroid dengan kmeans clustering')
plt.show()

Kode lengkapnya sebagai berikut bisa kalian pelajari dibawah ini

import numpy as np
from  lib import pustakakmeans
from  matplotlib import pyplot as plt

data_masuk = np.array([[7,8],
                        [4,13],
                        [8,7],
                        [8 ,9],
                        [3 ,12],
                        [3 ,1],
                        [5 ,3],
                        [3 ,13],
                        [9 ,8],
                        [3 ,5],
                        [8 ,8],
                        [2 ,13],
                        [1 ,3],
                        [3 ,14]],dtype='float32')

kmeans = pustakakmeans.KMeans()
jumlah_kelas = 3
kmeans.hitung(data_masuk,jumlah_kelas,epsilon=0.01, max_iterasi=3)

print  ('center\n',kmeans.center)
#print ('klustering final',kmeans.label)

##bikin plot
plt.figure('plot data - www.softscients.web.id')
b = plt.scatter(data_masuk[:,0],data_masuk[:,1],s=40,c=u'b')
plt.hold(True)
plt.scatter(kmeans.center[:,0],kmeans.center[:,1],s=40,c=u'r')
plt.title('mencari centroid dengan kmeans clustering')
plt.show()

output

Adapun untuk contoh lainnya sebagai berikut

center
 [[ 8.  8.]
 [ 3. 13.]
 [ 3.  3.]]

PUSTAKA KMEANS

Ditulis menggunakan numpy sebagai library array nya.

 

One thought on “KMeans Clustering

  1. Pingback: พอด

Leave a Reply