Anda di halaman 1dari 9

ANALISA METODE K-MEANS PARTITIONAL

CLUSTERING

Rizka Fajarini (07560292)

Jurusan Teknik Informatika, UMM

1. PENDAHULUAN

Clustering adalah sebuah proses pengelompokan data ke dalam beberapa kelas


berdasarkan kemiripan data. Tujuannya adalah untuk menemukan cluster yang berkualitas
dalam waktu yang layak. Clustering merupakan suatu alat untuk analisa data, yang
memecahkan permasalahan penggolongan. Clustering dalam data mining berguna untuk
menemukan pola distribusi di dalam sebuah data set yang berguna untuk proses analisa data.
Kesamaan objek biasanya diperoleh dari kedekatan nilai-nilai atribut yang menjelaskan objek-
objek data, sedangkan objek-objek data biasanya direpresentasikan sebagai sebuah titik dalam
ruang multidimensi[2].

Terdapat dua pendekatan dalam metode ini diantaranya adalah Hierarchical dan
Partitioning. Clustering dengan pendekatan hirarki atau sering disebut dengan hierarchical
clustering merupakan pengelompokkan data dengan membuat suatu hirarki berupa
dendogram dimana data yang mirip akan ditempatkan pada hirarki yang berdekatan dan yang
tidak pada hirarki yang berjauhan. Sedangkan Clustering dengan pendekatan partisi atau
sering disebut dengan partition-based clustering merupakan pengelompokkan data dengan
memilah-milah data yang dianalisa ke dalam cluster-cluster yang ada.

K-means merupakan metode pengklasteran secara partitioning yang memisahkan data ke


dalam kelompok yang berbeda dimana cluster (K) merupakan konstanta jumlah cluster yang
diinginkan maka K harus ditentukan sebelumnya (contoh: K = 5 cluster). Sedangkan means
berarti nilai suatu rata-rata dari suatu grup data yang dalam hal ini didefinisikan sebagai
cluster. Sehingga dapat disimpulkan bahwa algoritma ini menggunakan K nilai rata-rata yang
setiap nilai rata-ratanya dihitung dari suatu cluster. Kalau ada 5 cluster, maka akan ada 5 rata-
rata yang dipakai oleh algoritma ini.
Dalam tulisan ini akan dijelaskan beberapa hal yang terkait dengan algoritma K-means,
metode-metode pengalokasian ulang data ke dalam masing-masing cluster, beberapa
permasalahan yang harus diperhitungkan dalam penerapan algoritma K-means dalam
pengelompokan data, serta K-means untuk data yang mempunyai bentuk khusus.

2. PEMBAHASAN

Algoritma K-means clustering merupakan algortima iteratif dengan meminimalkan


jumlah kuadrat error antara vektor objek dengan pusat kluster terdekatnya [4], yaitu:

Dengan mj adalah pusat kluster (mean vector) dalam kluster ke j. Proses dimulai dengan
mula-mula memilih secara random k buah dokumen sebagai pusat kluster awal.

Pada tahap awal, algoritma k-means memilih secara acak k buah data sebagai centroid.
Kemudian, jarak antara data dan centroid dihitung menggunakan Euclidian distance. Data
ditempatkan dalam cluster yang terdekat, dihitung dari titik tengah cluster. Centroid baru akan
ditentukan bila semua data telah ditempatkan dalam cluster terdekat. Proses penentuan
centroid dan penempatan data dalam cluster diulangi sampai nilai centroid konvergen
(centroid dari semua cluster tidak berubah lagi). Data clustering menggunakan metode K-
Means ini secara umum dilakukan dengan algoritma dasar sebagai berikut[5]:

1. Algoritma menerima jumlah cluster untuk mengelompokkan data ke dalamnya, dan


dataset yang akan dicluster sebagai nilai input.

2. Menentukan jumlah cluster. Sebagai contoh, jika terdapat 10.000 baris data di dalam
dataset dan 3 cluster perlu dibentuk, maka K=3 cluster awal pertama akan dibuat
dengan mengambil 3 record secara random dari dataset, sebagai cluster permulaan.
Setiap cluster awal yang dibentuk tersebut mempunyai hanya satu record data.

3. Setiap cluster yang terbentuk akan dihitung nilai rata-ratanya. Rata-rata dari suatu
cluster adalah rata-rata dari semua record yang terdapat di dalam cluster tersebut.

4. Alokasikan data ke dalam cluster secara random.


5. Hitung centroid/rata-rata dari data yang ada di masing-masing cluster

6. Alokasikan masing-masing data ke centroid/rata-rata terdekat

7. Uangi langkah-langkah sebelumnya sampai terbentuk cluster-cluster stabil dan


prosedur K-Means selesai. Cluster stabil terbentuk ketika iterasi atau perulangan dari
K-Means tidak membuat cluster baru sebagai pusat cluster atau nilai rata-rata
aritmatika dari semua cluster baru sama dengan cluster lama. Terdapat beberapa
teknik untuk menentukan kapan suatu cluster stabil terbentuk atau kapan algoritma K-
Means berakhir.

Gambar 2.1 Flowchart proses Algoritma K-means

Gambar dibawah ini akan menjelaskan langkah-langkah dari proses pengklasteran


menggunakan algoritma K-means.
Gambar 2.2 Ilustrasi Algoritma K-means

2.1 Metode Pengalokasian Ulang Data ke Dalam Masing-Masing Cluster.

Ada dua cara pengalokasian data kembali ke dalam masing-masing cluster pada saat
proses iterasi (perulangan) clustering. Kedua cara tersebut adalah Hard K-means[5] dan Fuzzy
K-means[4,6,7]. Perbedaan kedua metode ini terletak pada asumsi yang dipakai sebagai dasar
pengalokasian.

Hard K-Means

Dalam metode ini pengalokasian data ke dalam masing-masing cluster didasarkan pada
perbandingan jarak antara data dengan centroid setiap cluster yang ada. Data dimasukkan
kedalam cluster yang terdekat dengan centroid. Pengalokasian ini dapat dirumuskan sebagai
berikut[5]:

keterangan : aik : Keanggotaan data ke-k ke cluster ke-i

vi : Nilai centroid cluster ke-i

Fuzzy K-means

Metode ini mengalokasikan kembali data ke dalam masing-masing cluster dengan


memanfaatkan teori Fuzzy. Dalam metode Fuzzy K-means dipergunakan variabel membership
function, uik , yang merujuk pada seberapa besar kemungkinan suatu data bisa menjadi
anggota ke dalam suatu cluster[1]. Pada Fuzzy K-Means yang diusulkan oleh Bezdek[4],
diperkenalkan juga suatu variabel m yang merupakan weighting exponent dari membership
function. Variabel ini dapat mengubah besaran pengaruh dari membership function, uik , dalam
proses clustering menggunakan metode Fuzzy K-Means. m mempunyai wilayah nilai m>1.
Sampai sekarang ini tidak ada ketentuan yang jelas berapa besar nilai m yang optimal dalam
melakukan proses optimasi suatu permasalahan clustering. Nilai m yang umumnya digunakan
adalah 2[1].

Membership function untuk suatu data ke suatu cluster tertentu dihitung menggunakan rumus
sebagai berikut[4,6,7]:

Keterangan : uik : Membership function data ke-k ke cluster ke-i

Vi : Nilai centroid cluster ke-i

m : Weighting Exponent

2.2 Beberapa Permasalahan yang Terkait Dengan K-Means

Beberapa permasalahan yang sering muncul pada saat menggunakan metode K-Means untuk
melakukan pengelompokan data adalah:

1. Ditemukannya beberapa model clustering yang berbeda

2. Pemilihan jumlah cluster yang paling tepat

3. Kegagalan untuk converge

4. Pendeteksian outliers

5. Bentuk masing-masing cluster

6. Masalah overlapping

Hal-hal diatas perlu diperhatikan pada saat penggunaan K-means. Permasalahan pertama
umumnya disebabkan oleh perbedaan proses inisialisasi anggota masing-masing cluster.
Proses initialisasi yang sering digunakan adalah proses inisialisasi secara random. Dalam
suatu studi perbandingan[13], proses inisialisasi secara random mempunyai kecenderungan
untuk memberikan hasil yang lebih baik, walaupun dari segi kecepatan untuk converge
terbilang lebih lambat.

Permasalahan kedua merupakan masalah yang sering terjadi dalam metode K-Means.
Beberapa pendekatan telah digunakan dalam menentukan jumlah cluster yang paling tepat
untuk suatu dataset yang dianalisa termasuk di antaranya Partition Entropy (PE)[4] dan GAP
Statistics[10].

Permasalahan ketiga adalah kegagalan untuk converge, yang secara teori memungkinkan
untuk terjadi dalam kedua metode K-Means (Hard K-means dan Fuzzy K-means).
Kemungkinan ini akan semakin besar terjadi untuk metode Hard K-Means, karena setiap data
di dalam dataset dialokasikan secara tegas (hard) untuk menjadi bagian dari suatu cluster
tertentu. Perpindahan suatu data ke suatu cluster tertentu dapat mengubah karakteristik model
clustering sehingga dapat menyebabkan data yang telah dipindahkan tersebut lebih sesuai
untuk berada di cluster semula sebelum data tersebut dipindahkan. Demikian juga dengan
keadaan sebaliknya. Kejadian seperti ini akan mengakibatkan pemodelan tidak akan berhenti
dan kegagalan untuk converge akan terjadi. Namun, permasalahan tersebut kemungkinan
untuk terjadi padaFuzzy K-Means sangatlah kecil, karena setiap data dilengkapi dengan
membership function (Fuzzy K-Means) untuk menjadi anggota cluster yang ditemukan.

Permasalahan keempat merupakan permasalahan yang sering terjadi pada K-means.


Beberapa hal yang perlu diperhatikan dalam melakukan pendeteksian outliers dalam proses
pengelompokan data termasuk bagaimana menentukan apakah suatu data item merupakan
outliers dari suatu cluster tertentu dan apakah data dalam jumlah kecil yang membentuk suatu
cluster tersendiri dapat dianggap sebagai outliers. Untuk mengatasi masalah ini diperlukan
suatu pendekatan khusus yang berbeda dengan proses pendeteksian outliers di dalam suatu
dataset yang hanya terdiri dari satu populasi yang homogen.

Permasalahan kelima adalah menyangkut bentuk cluster yang ditemukan. Berbeda dengan
metode data clustering lainnya, K-means umumnya tidak mengindahkan bentuk dari masing-
masing cluster yang mendasari model yang terbentuk, walaupun secara natural masing-
masing cluster umumnya berbentuk bundar[1].

Masalah overlapping merupakan masalah yang sering diabaikan karena pada umumnya
masalah ini sulit terdeteksi. Hal ini terjadi terutama untuk metode Hard K-Means dan Fuzzy
K-Means, karena secara teori, kedua metode ini tidak diperlengkapi feature untuk mendeteksi
apakah di dalam suatu cluster ada cluster lain yang kemungkinan tersembunyi.

2.3 K-Means untuk Data yang Mempunyai Bentuk Khusus.

Beberapa dataset yang mempunyai bentuk tertentu memerlukan suatu metode pemecahan
khusus yang disesuaikan dengan keadaan data tersebut.

Untuk keperluan seperti itu, beberapa peneliti[11,12,13] telah mengusulkan


pengembangan metode K-Means yang secara khusus memanfaatkan kernel trik, dimana data
space untuk data awal di-mapping ke feature space yang berdimensi tinggi. Beberapa hal
yang perlu diperhatikan dalam pengembangan metode K-Means dengan kernel trik ini adalah
bahwa data pada feature space tidak lagi dapat didefinisikan secara eksplisit, sehingga
penghitungan nilai membership function dan centroid tidak dapat dilakukan secara langsung.
Beberapa trik penghitungan telah diusulkan dalam menurunkan nilai kedua variabel yang
diperlukan tersebut[11,12,13]. Dengan penerapan trik perhitungan terhadap kedua variabel
tersebut, objective function yang digunakan dalam menilai apakah suatu proses
pengelompokan sudah converge atau tidak juga akan berubah[1].

3. KESIMPULAN

Salah satu teknik yang digunakan dalam clustering adalah dengan menggunakan algoritma
k-means. Namun, algoritma k-means hanya bisa digunakan untuk dataset yang atributnya
bernilai numerik. Padahal dalam kenyataannya ,suatu database dapat terdiri dari data-data
yang bernilai numerik maupun non-numerik. Selain itu K-means memiliki kelemahan dalam
penentuan titik pusat inisial klaster yang dilakukan secara random. Pada saat pembangkitan
awal titik pusat yang random tersebut mendekati solusi akhir pusat klaster, K-Means
mempunyai posibilitas yang tinggi untuk menemukan titik pusat klaster yang tepat.
Sebaliknya, jika awal titik pusat tersebut jauh dari solusi akhir pusat klaster, maka
kemungkinan besar hal ini menyebabkan hasil pengklasteran yang tidak tepat. Akibatnya K-
Means tidak menjamin hasil pengklasteran yang unik. Hal ini yang menyebabkan metode K-
Means sulit untuk mencapai optimum global, akan tetapi hanya minimum lokal.

Kelemahan algoritma K-means yang lain adalah hasil cluster yang diperoleh sangat
tergantung pada nilai centroid awal, sangat sensitif terhadap outliers, serta kurang scalable.
Selain itu, ada beberapa permasalahan yang perlu untuk diperhatikan dalam menggunakan
metode K-Means termasuk model clustering yang berbeda-beda, pemilihan model yang
paling tepat untuk dataset yang dianalisa, kegagalan untuk converge, pendeteksian outliers,
bentuk masing-masing cluster dan permasalahan overlapping.

Daftar Pustaka

[1] Agusta, Y. (2007). K-Means – Penerapan, Permasalahan dan Metode Terkait, STIMIK,
Bali, Indonesia.

[2] Syahendra (2010). Clustering, http://saylhendra.wordpress.com/

[3] Frantzi K.T. and S. Annaniadou, Automatic Term Recognition Using Contextual Cues,
DELOS’03, www.ercim.org DELOS03/frantzi.pdf, 2003

[4] Bezdek, J. C. (1981). Pattern Recognition with Fuzzy Objective Function Algoritmss,
Plenum Press, New York.

[5] MacQueen, J. B. (1967). Some Methods for classification and Analysis of Multivariate
Observations, Proceedings of 5-th Berkeley Symposium on Mathematical Statistics and
Probability, Berkeley, University of California Press, 1: 281-297.

[6] Miyamoto, S. and Agusta, Y. (1995). An Efficient Algorithm for L1 Fuzzy c-Means and
its Termination, Control and Cybernetics 24(4): 422-436.

[7] Miyamoto, S. and Agusta, Y. (1995). Algorithms for L1 and Lp Fuzzy C-Means and Their
Convergence, in C. Hayashi, N. Oshumi, K. Yajima, Y. Tanaka, H. H. Bock and Y. Baba
(eds), Data Science, Classification, and Related Methods, Springer-Verlag, Tokyo, Japan, pp.
295-302.

[8] Pena, J. M., Lozano, J. A. and Larranaga, P. (1999). An empirical comparison of four
initialization methods for the k-means algorithm. Pattern Recognition Lett., 20:1027-1040.

[9] Backer, E. Computer Assisted Reasoning in Cluster Analysis. Prentice Hall.

[10] Tibshirani, R., Walter, G. and Hastie, T. (2000). Estimating the Number of Clusters in a
Dataset using the Gap Statistics, Technical Report 208, Department of Statistics, Stanford
University, Standford, CA 94305, USA.
[11] Girolami, M. (2002). Mercel Kernel Based Clustering in Feature Space, IEEE
Transactions on Neural Networks, Vol. 13, No. 3, pp. 761-766.

[12] Miyamoto S. and Nakayama, Y. (2003). Algorithms of Hard C-Means Clustering Using
Kernel Functions in Support Vector Machines, Journal of Advanced Computational
Intelligence and Intelligent Informatics, Vol. 7, No. 1, pp. 19–24.

[13] Miyamoto, S. and Suizu, D. (2003). Fuzzy C-Means Clustering Using Kernel Functions
in Support Vector Machines, Journal of Advanced Computational Intelligence and Intelligent
Informatics, Vol. 7, No. 1, pp. 25–30.