Anda di halaman 1dari 8

CLUSTERING MENGGUNAKAN K-MEANS ALGORITHM

(K-MEANS ALGORITHM CLUSTERING)


Nur Wakhidah
Fakultas Teknologi Informasi dan Komunikasi Universitas Semarang

Abstract

Classification is the process of organizing object into groups whose members are similar
in same way and a part of pattern recognition. Two kind of classification is supervised
classification and unsupervised classification. K-Means is a type of unsupervised classification
method which partitions data items into one or more clusters. K-Means tries to model a dataset
into clusters so that data items in a cluster have similar characteristic and have different
characteristics from the other clusters.

Keyword : pattern recognition, clustering, k-means

I. PENDAHULUAN Misal binatang seperti domba, anjing,


Dalam system klasifikasi terdapat 2 kucing termasuk kluster binatang menyusui;
jenis yaitu supervised classification dan burung pipit, burung camar termasuk kluster
unsupervised classification. Pada burung; ular, kadal termasuk kluster binatang
unsupervised classification, dimana melata; ikan mas, ikan mullet merah, ikan hiu
pembelajaran pola tentang pembagian class biru termasuk kluster ikan; dan kodok
tidak diberikan, sehingga lebih banyak focus termasuk kluster binatang ampibi. Dalam
untuk memahami pola dalam cluster yang mengelompokkan binatang-binatang tersebut
dapat dimengerti untuk menemukan ke dalam suatu cluster dibutuhkan
persamaan dan perbedaan antar pola dan penggambaran clustering criterion, hal ini
untuk memperoleh kesimpulan bermanfaat. sama halnya jika kita akan mengelompokkan
Ide tersebut dapat dijumpai pada banyak cara binatang membawa keturunan mereka ke
bidang, seperti ilmu yang mempelajari hidup dalam sebuah cluster. Sebagai contoh domba,
(biologi, zoology), ilmu pengetahuan medis anjing, kucing, dan ikan hiu biru dapat
(psychiatry, pathology), ilmu-ilmu sosial dikelompokkan dalam satu cluster sedangkan
(sociology, archeology), ilmu pengetahuan binatang yang lain dapat dibentuk ke dalam
bumi (geography, geology), dan rancang- cluster yang lain. Untuk jelasnya dapat dilihat
bangun. pada gambar berikut.

Gambar 1. Beberapa cluster dari clustering criterion. Gambar (a) kelompok cara binatang
membawa keturunannya, Gambar (b) kelompok paru-paru binatang

 
Clustering dapat dianggap yang paling merupakan "proses mengatur objek menjadi
penting dalam masalah unsupervised learning, anggota kelompok yang hampir sama dalam
karena setiap masalah semacam ini, ia beberapa cara”. Sebuah cluster merupakan
berurusan dengan mencari struktur dalam kumpulan objek-objek yang "sama" di antara
kumpulan yang tidak diketahui datanya. mereka dan "berbeda" pada objek dari cluster
Sehingga dapat didefinisikan bahwa clustering lainnya.

Gambar 2. Identifikasi Kelompok

Dengan memperhatikan gambar di untuk menangani gangguan; dimensi tinggi;


atas, kita dengan mudah mengidentifikasikan 4 serta interpretability dan usability.
kelompok menjadi data yang dapat dibagi yaitu II. APLIKASI
kesamaan dengan kriteria jarak antara dua Clustering algoritma dapat diterapkan dalam
atau lebih benda dalam klaster yang sama jika berbagai bidang, misalnya:
mereka dekat dan sesuai dengan jarak yang • Pemasaran: mencari kelompok
diberikan. Hal ini disebut distance-based pelanggan yang mirip dengan perilaku,
clustering. Lain halnya untuk jenis diberikan database yang besar berisi data
pengelompokan konseptual clustering, dimana pelanggan mereka memperoleh properti
dua atau lebih benda dalam klaster yang sama dan catatan masa lalu;
dengan mendefinisikan konsep secara umum • Biologi: klasifikasi tanaman dan binatang;
untuk semua benda, dengan kata lain objek • Perpustakaan: katalog buku;
dikelompokkan menurut konsep deskriptif. • Asuransi: mengidentifikasi kelompok
Tujuan dari clustering adalah untuk pemegang polis asuransi motor dengan
mengklasifikasikan data, dengan cara rata-rata klaim biaya tinggi;
menentukan pengelompokan dalam satu set • Perencanaan kota: mengidentifikasi
data yang tidak diketahui. Tetapi bagaimana kelompok rumah sesuai dengan tipe
untuk menentukan clustering yang baik? Dapat rumah, nilai dan lokasi geografis;
menunjukkan tidak ada criteria absolut III. KLASIFIKASI
"terbaik" yang akan bergantung pada tujuan Clustering algoritma dapat diklasifikasikan
akhir dari clustering. Akibatnya, pengguna sebagai berikut:
yang harus menyertakan kriteria ini, sehingga 1. Exclusive Clustering
hasil clustering akan memenuhi kebutuhan o Data dikelompokkan ke dalam suatu
mereka. Syarat yang harus dipenuhi dalam cara yang eksklusif, sehingga jika
clustering algoritma adalah skalabilitas; suatu fakta milik suatu cluster maka
berhadapan dengan berbagai jenis atribut; tidak dapat dipakai (menjadi
menemukan bentuk kelompok persyaratan anggota) di cluster lain
minimal adalah domain pengetahuan untuk 2. Overlapping Clustering
menentukan parameter masukan; kemampuan o Menggunakan fuzzy set untuk cluster
data sehingga titik kemungkinan
 

 
memiliki dua atau lebih kelompok Terdapat empat algoritma yang paling sering
yang berbeda sesuai derajat digunakan dalam clustering, yaitu:
keanggotaannya. Dalam hal ini data • K-means (exclusive clustering)
akan dihubungkan dengan nilai • Fuzzy C-means (overlapping clustering)
keanggotaannya. • Hierarchical clustering
3. Hierarchical Clustering • Mixture of Gaussians (probabilistic
o Didasarkan pada kesatuan antara clustering)
dua kelompok terdekat. Permulaan IV. K-MEANS
kondisi diwujudkan dengan K-Means merupakan algoritma untuk cluster n
menetapkan setiap datum sebagai objek berdasarkan atribut menjadi k partisi,
cluster. Setelah beberapa iterasi dimana k < n. Gambar berikut ini
mencapai final kelompok yang menunjukkan k-means clustering algoritma
diinginkan. dalam tindakan, untuk kasus dua dimensi.
4. Probabilistic Clustering Pusat awal yang dihasilkan secara acak untuk
o Sepenuhnya menggunakan menunjukkan tahapan lebih rinci. Background
pendekatan probabilistic ruang partisi hanya untuk ilustrasi dan tidak
dihasilkan oleh algoritma k-means.

Gambar 3. K-means clustering dalam tindakan (2 dimensi)

Kelemahan dari K-Means bahwa setiap atribut memiliki bobot yang


K-means memiliki banyak kelemahan, antara sama.
lain: Salah satu cara untuk mengatasi kelemahan
• Bila jumlah data tidak terlalu banyak, itu adalah dengan menggunakan K-means
mudah untuk menentukan cluster awal. clustering namun hanya jika tersedia banyak
• Jumlah cluster, sebanyak K, harus data.
ditentukan sebelum dilakukan
perhitungan. Algoritma K-Means
• tidak pernah mengetahui real cluster Langkah-langkah dalam algoritma K-means
dengan menggunakan data yang sama, clustering adalah :
namun jika dimasukkan dengan cara 1. Menentukan jumlah cluster
yang berbeda mungkin dapat 2. Menentukan nilai centroid
memproduksi cluster yang berbeda jika Dalam menentukan nilai centroid untuk
jumlah datanya sedikit. awal iterasi, nilai awal centroid dilakukan
• tidak tahu kontribusi dari atribut dalam secara acak. Sedangkan jika menentukan
proses pengelompokan karena dianggap nilai centroid yang merupakan tahap dari
 

 
iterasi, maka digunakan rumus sebagai i adalah banyaknya objek,
berikut (x,y) merupakan koordinat object dan
1 Ni (s,t) merupakan koordinat centroid.
vij =
Ni
∑x
k =0
kj , 4. Pengelompokan object
Untuk menentukan anggota cluster
dimana : adalah dengan memperhitungkan jarak
vij adalah centroid/ rata-rata cluster ke-I minimum objek. Nilai yang diperoleh
untuk variable ke-j dalam keanggotaan data pada distance
Ni adalah jumlah data yang menjadi matriks adalah 0 atau 1, dimana nilai 1
anggota cluster ke-i untuk data yang dialokasikan ke cluster
i,k adalah indeks dari cluster dan nilai 0 untuk data yang dialokasikan
j adalah indeks dari variabel ke cluster yang lain.
xkj adalah nilai data ke-k yang ada di 5. Kembali ke tahap 2, lakukan perulangan
dalam cluster tersebut untuk variable ke-j hingga nilai centroid yang dihasilkan tetap
3. Menghitung jarak antara titik centroid dan anggota cluster tidak berpindah ke
dengan titik tiap objek cluster lain.
Untuk menghitung jarak tersebut dapat
menggunakan Euclidean Distance, yaitu Flowchart K-Means Clustering
Berikut penggambaran algoritma k-means
( xi − si ) + ( yi − ti )
2 2
De = clustering menggunakan flowchart :
,
dimana :
De adalah Euclidean Distance

Gambar 4. Flowchart K-means Clustering

V. Kasus :
Misalnya kita memiliki 4 objek sebagai titik data pelatihan dan setiap obyek memiliki 2 atribut .
Tiap atribut mewakili koordinat dari objek, yaitu
Objek Atribut 1 (X): bobot indeks
Objek Atribut 2 (Y): pH

 
Tabel 1. Data Kasus
Object Atribut 1 (X) : Atribut 2 (Y) :
bobot index pH
Medicine A 1 1
Medicine B 2 1
Medicine C 4 3
Medicine D 5 4

Untuk menyelesaikan permasalahan tersebut, tersebut merupakan anggota dalam cluster


kita dapat melakukan beberapa tahap, yaitu : 1 atau cluster 2.
1. Menentukan Jumlah Cluster Dari data yang diperoleh, dapat ditentukan
Dengan memperhatikan data tersebut, kita bahwa 4 object tersebut memiliki 2 atribut
dapat mengelompokkan object tersebut ke (bobot index dan pH), dimana tiap-tiap
dalam dua cluster sesuai dengan atributnya medicine mewakili satu titik dengan 2
(yaitu cluster 1 dan cluster 2). Masalahnya atribut (X,Y). Untuk lebih jelasnya dapat
adalah bagaimana menentukan medicine dilihat pada gambar berikut.

Gambar 5. Iteration 0

2. Menentukan nilai centroid menggunakan rumus Euclidean Distance


Untuk menentukan nilai awal centroid yaitu
dilakukan secara acak. Disini, dimisalkan
( xi − si ) + ( yi − ti )
2 2
De =
titik koordinat medicine A adalah cluster 1
(C1) dan medicine B adalah cluster 2 (C2) dimana :
sebagai nilai centroid awal. De adalah Euclidean Distance
• C1 = (1,1) i adalah banyaknya objek,
• C2 = (2,1) (x,y) merupakan koordinat object
3. Menghitung jarak antara titik centroid (s,t) merupakan koordinat centroid
dengan tiap titik object. Sehingga pada iterasi 0, dengan titik
Untuk menghitung jarak antara titik centroid centroid C1 = (1,1) dan C2 = (2,1)
dengan tiap titik object, kita dapat

Medicine A Medicine B Medicine C Medicine D


X 1 2 4 5
Y 1 1 3 4
 

 
Berikut adalah cara untuk menghitung 4. Pengelompokan Object.
distance dari tiap object : Setelah menghitung distance matriks, kita
• Medicine A = (1,1) dengan C1=(1, 1) menentukan anggota cluster menurut jarak
minimum dari centroid. Dengan merujuk
Æ= (1 − 1) + (1 − 1) =0
2 2
pada distance matriks, medicine A termasuk
dengan C2=(2,1) cluster 1, sedangkan medicine B, C dan D
termasuk cluster 2. Hal ini dapat dilihat pada
Æ= (1 − 2 ) + (1 − 1) =1
2 2

perolehan nilai sebagai berikut :


• Medicine B = (2,1) dengan C1=(1, 1)
A   B    C     D
Æ= ( 2 − 1) + (1 − 1) =1
2 2

⎛1 0 0 0⎞ Æ   Cluster 1 
dengan C2=(2,1) G0 = ⎜ ⎟ Æ   Cluster 2 
⎝0 1 1 1⎠
Æ= ( 2 − 2 ) + (1 − 1) =0
2 2

• Medicine C = (4,3) dengan C1=(1, 1) 5. Iterasi 1, menentukan centroid baru.


Himpunan yang terbentuk pada tahap
Æ= ( 4 − 1) + ( 3 − 1) = 3.61
2 2
sebelumnya, telah diketahui anggota tiap cluster.
dengan C2=(2,1) Untuk cluster 1 mempunyai anggota medicine A
saja, sedangkan cluster 2 mempunyai anggota
Æ= ( 4 − 2 ) + ( 3 − 1) = 2.83
2 2
medicine B, C dan D. Dari data tersebut, hitung
• Medicine D = (5,4) dengan C1=(1, 1) kembali centroid untuk menentukan centroid
baru. Karena pada cluster 1 hanya mempunyai 1
Æ= ( 5 − 1) + ( 4 − 1) =5
2 2
anggota, maka untuk centroid baru masih berada
di C1 = (1,1). Sedangkan pada C2 dengan
dengan C2=(2,1) menghitung nilai rata-ratanya dapat diperoleh
Æ= ( 5 − 2 ) + ( 4 − 1) = 4.24 nilai centroid barunya, yaitu :
2 2

dari perhitungan diatas, diperoleh distance ⎛ 2 + 4 + 5 1+ 3 + 4 ⎞


matriksnya, yaitu C2 = ⎜ , ⎟
⎝ 3 3 ⎠
A   B       C           D 
⎛ 11 8 ⎞
C2 = ⎜ , ⎟
⎛ 0 1 3.61 5 ⎞ Æ   C1=(1,1)  ⎝ 3 3⎠
D0 = ⎜ ⎟
⎝ 1 0 2.83 4.24 ⎠ Æ   C2=(2,1) 

Gambar 6. Iteration 1
 

 
6. Iterasi 1, menghitung jarak antara titik
A    B    C     D 
centroid baru dengan tiap titik object.
Pada tahap menghitung jarak antara ⎛1 1 0 0⎞   Æ   Cluster 1
object dengan centroid baru. Hal ini G1 = ⎜ ⎟ Æ   Cluster 2
hampir sama dengan tahap 3, yaitu ⎝0 0 1 1⎠  
menghitung jarak dengan C2
8. Iterasi 2, menentukan centroid baru.
⎛ 11 8 ⎞
C2 = ⎜ , ⎟ Tahap ini mengulang kembali tahap 5,
⎝ 3 3⎠ yaitu menghitung centroid baru. Dari
Dengan cara perhitungan yang sama cluster 1 yang mempunyai 2 anggota
pada tahap 3, maka diperoleh distance yaitu medicine A dan B, dan cluster 2
matriksnya, yaitu yang mempunyai 2 anggota yaitu
medicine C dan D, maka hasil centroid
  A  B           C          D  baru yang diperoleh adalah :
⎛ 0 1 3.61 5 ⎞ Æ   C1 = (1,1)  ⎛ 1+ 2 1+1 ⎞
D1 = ⎜ C1 = ⎜ , ⎟
⎟ Æ    ⎛ 11 8 ⎞   ⎝ 2 2 ⎠
⎝ 3.14 2.36 0.47 1.89 ⎠ C2 = ⎜ , ⎟
⎝ 3 3⎠
⎛3 ⎞
C1 = ⎜ ,1⎟
7. Iterasi 1, melakukan pengelompokan ⎝2 ⎠
object
⎛ 4+5 3+ 4 ⎞
Hampir sama dengan tahap 4, yaitu C2 = ⎜ , ⎟
menentukan anggota cluster dengan ⎝ 2 2 ⎠
menghitung jarak minimum tiap object ⎛9 7⎞
C2 = ⎜ , ⎟
dengan centroid baru. Hasil yang ⎝2 2⎠
diperoleh :

Gambar 7. Iteration 2

9. Iterasi 2, menghitung jarak antara titik ⎛3 ⎞


centroid baru dengan tiap titik object. C1 = ⎜ ,1⎟
⎝2 ⎠
Tahap ini juga hampir sama dengan
tahap 3, yaitu menghitung jarak ⎛9 7⎞
C2 = ⎜ , ⎟
dengan Centroid baru ⎝2 2⎠

 
Dengan cara perhitungan yang sama Berdasarkan hasil anggota cluster yang
pada tahap 3, maka diperoleh distance diperoleh tetap sama antara G1 = G2,
matriksnya, yaitu maka iterasi dihentikan.
  A  B         C         D 
VI. KESIMPULAN
⎛ 0.5 0.5 3.20 4.61⎞ Æ    C1 = ⎛⎜ 3 ,1⎞⎟  
Dari 4 objek yang digunakan dalam kasus
D2 = ⎜ ⎟ ⎝2 ⎠
tersebut, dapat disimpulkan bahwa :
⎝ 4.30 3.54 0.71 0.71⎠ Æ    C 2 = ⎛⎜ 9 , 7 ⎞⎟   1. K-means Algoritma merupakan
⎝2 2⎠
algoritma yang sederhana
10. Iterasi 2, melakukan pengelompokan
2. K-means clustering mampu
object menyelesaikan permasalahan yang ada
Hampir sama dengan tahap 4, yaitu 3. Terdapat 2 cluster yang dihasilkan,
menentukan anggota cluster dengan untuk cluster 1 mempunyai anggota
menghitung jarak minimum tiap object medicine A dan B, sedangkan cluster 2
dengan centroid baru yang telah mempunyai anggota C dan D
dihasilkan. Hasil yang diperoleh :
A    B    C     D 
Untuk hasil yang diperoleh, dapat dilihat
⎛1 1 0 0⎞   Æ   Cluster 1 pada table berikut.
G =⎜2
⎟ Æ   Cluster 2
⎝0 0 1 1⎠

Tabel 2. Hasil Clustering


Object Atribut 1 (X) : Atribut 2 (Y) : Cluster
bobot index pH (result)
Medicine A 1 1 1
Medicine B 2 1 1
Medicine C 4 3 2
Medicine D 5 4 2

VII. Daftar Pustaka Sergios Theodoridis, Konstantinos


Koutroumbas : “Pattern Recognition”,
E.S. Gopi, “Algorithm Collections for Digital Elsevier Academic Press
Signal Processing Applications Using Teknomo, Kardi. K-Means Clustering Tutorials.
Matlab”, Spinger: National Institute of http://people.revoledu.com/kardi/tutorial/
Technology, Tiruchi, India, kMean/
Chen Yu, “K-Means Clustering”, Indiana http://en.wikipedia.org/wiki/k-means_algorithm
University http://home.dei.polimi.it/matteucc/clustering/tut
orial_ht

Anda mungkin juga menyukai