Anda di halaman 1dari 9

METODE CLUSTERING DENGAN

ALGORITMA K-MEANS

Oleh :
Nengah Widya Utami
1629101002

PROGRAM STUDI S2 ILMU KOMPUTER


PROGRAM PASCASARJANA
UNIVERSITAS PENDIDIKAN GANESHA
SINGARAJA
2017
1. Definisi Clustering
Clustering merupakan suatu teknik data mining yang membagi-bagikan data
ke dalam beberapa kelompok (grup atau cluster atau segmen) yang tiap cluster
dapat ditempati beberapa anggota bersama-sama. Pada dasarnya clustering
merupakan suatu metode untuk mencari dan mengelompokkan data yang memiliki
kemiripan karakteriktik (similarity) antara satu data dengan data yang lain.
Clustering merupakan salah satu metode data mining yang bersifat tanpa arahan
(unsupervised), maksudnya metode ini diterapkan tanpa adanya latihan (training)
dan tanpa ada guru (teacher) serta tidak memerlukan target output. Dalam data
mining ada dua jenis metode clustering yang digunakan dalam pengelompokan
data, yaitu hierarchical clustering dan non-hierarchical clustering.
Hierarchical clustering adalah suatu metode pengelompokan data yang
dimulai dengan mengelompokkan dua atau lebih objek yang memiliki kesamaan
paling dekat. Kemudian proses diteruskan ke objek lain yang memiliki kedekatan
kedua. Demikian seterusnya sehingga cluster akan membentuk semacam pohon
dimana ada hierarki (tingkatan) yang jelas antar objek, dari yang paling mirip
sampai yang paling tidak mirip. Secara logika semua objek pada akhirnya hanya
akan membentuk sebuah cluster.
Berbeda dengan metode hierarchical clustering, metode non-hierarchical
clustering justru dimulai dengan menentukan terlebih dahulu jumlah cluster yang
diinginkan (dua cluster, tiga cluster, atau lain sebagainya). Setelah jumlah cluster
diketahui, barulah proses cluster dilakukan tanpa mengikuti proses hierarki. Metode
ini biasa disebut dengan K-Means Clustering (Oscar, 2013).

2. Definisi K-Means
K-Means merupakan salah satu metode data clustering non-hirarki yang
mengelompokan data dalam bentuk satu atau lebih cluster/kelompok. Data-data
yang memiliki karakteristik yang sama dikelompokan dalam satu
cluster/kelompok dan data yang memiliki karakteristik yang berbeda
dikelompokan dengan cluster/kelompok yang lain sehingga data yang berada
dalam satu cluster/kelompok memiliki tingkat variasi yang kecil (Oscar, 2013).

1
3. Algoritma K-Means
Langkah-langkah dalam algoritma K-Means adalah :

1) Menentukan jumlah cluster


2) Menentukan nilai centroid
Dalam menentukan nilai centroid untuk awal iterasi, nilai awal centroid
dilakukan secara acak. Sedangkan jika menentukan nilai centroid yang
merupakan tahap dari iterasi, maka digunakan rumus sebagai berikut.

Dimana :
- Vij adalah centroid/ rata-rata cluster ke-i untuk variabel ke-j
- Ni adalah jumlah data yang menjadi anggota cluster ke-i
- i,k adalah indeks dari cluster
- j adalah indeks dari variabel
- Xkj adalah nilai data ke-k yang ada di dalam cluster tersebut
untuk variable ke-j

3) Menghitung jarak antara titik centroid dengan titik tiap objek


Untuk menghitung jarak tersebut dapat menggunakan Euclidean Distance,
yaitu:

Dimana :
- De adalah Euclidean Distance
- i adalah banyaknya objek,
- (x,y) merupakan koordinat objek
- (s,t) merupakan koordinat centroid.

4) Pengelompokan objek
Untuk menentukan anggota cluster adalah dengan memperhitungkan jarak
minimum objek. Nilai yang diperoleh dalam keanggotaan data pada

2
distance matriks adalah 0 atau 1, dimana nilai 1 untuk data yang
dialokasikan ke cluster dan nilai 0 untuk data yang dialokasikan ke cluster
yang lain.

5) Kembali ke tahap 2, lakukan perulangan hingga nilai centroid yang


dihasilkan tetap dan anggota cluster tidak berpindah ke cluster lain.

Berikut penggambaran algoritma K-Means menggunakan flowchart:

Start

Banyaknya
cluster K

Tentukan centroid

Hitung jarak obyek ke


centroid

Kelompokkan obyek
berdasar jarak minimum

Ada obyek yang ya


berpindah?

tidak

End

Gambar 1. Flowchart Algoritma K-Means

4. Contoh Kasus
Berikut ini adalah tabel yang menyajikan data usia dan berat badan beberapa
orang. Dari tabel di bawah akan dikelompokkan menjadi 2 kelompok
menggunakan algoritma K-Means dimana pusat cluster ditentukan secara acak.

3
OBJECT DATA AGE (x) WEIGHT (y)
Person #1 25 50
Person #2 26 48
Person #3 35 65
Person #4 67 60
Person #5 55 65
Person #6 53 60
Person #7 34 48
Person #8 48 50

Langkah 1 : Jumlah cluster adalah 2

ITERASI I
Langkah 2 : Nilai awal centroid
CLUSTER AGE (s) WEIGHT (t)
Cluster 1 35 65
Cluster 2 34 48

Langkah 3 & 4: Jarak antara titik centroid dengan titik tiap objek
dan pengelompokan objek
OBJECT DATA De1 De2 Cluster
Person #1 18.03 9.22 Cluster 2
Person #2 19.24 8.00 Cluster 2
Person #3 0.00 17.03 Cluster 1
Person #4 32.39 35.11 Cluster 1
Person #5 20.00 27.02 Cluster 1
Person #6 18.68 22.47 Cluster 1
Person #7 17.03 0.00 Cluster 2
Person #8 19.85 14.14 Cluster 2

ITERASI II
Langkah 5 : Kembali ke langkah 2 (nilai centroid baru)
CLUSTER AGE (s) WEIGHT (t)
Cluster 1 52.5 62.5
Cluster 2 33.25 49

4
Langkah 3 & 4: Jarak antara titik centroid dengan titik tiap objek
dan pengelompokan objek
OBJECT DATA De1 De2 Cluster
Person #1 30.21 8.31 Cluster 2
Person #2 30.21 7.32 Cluster 2
Person #3 17.68 16.10 Cluster 2
Person #4 14.71 35.50 Cluster 1
Person #5 3.54 27.00 Cluster 1
Person #6 2.55 22.61 Cluster 1
Person #7 23.51 1.25 Cluster 2
Person #8 13.29 14.78 Cluster 1

ITERASI III
Langkah 5 : Kembali ke langkah 2 (nilai centroid baru)
CLUSTER AGE (s) WEIGHT (t)
Cluster 1 55.75 58.75
Cluster 2 30 52.75

Langkah 3 & 4: Jarak antara titik centroid dengan titik tiap objek
dan pengelompokan objek
OBJECT DATA De1 De2 Cluster
Person #1 31.97 5.71 Cluster 2
Person #2 31.63 6.21 Cluster 2
Person #3 21.67 13.23 Cluster 2
Person #4 11.32 37.70 Cluster 1
Person #5 6.29 27.84 Cluster 1
Person #6 3.02 24.12 Cluster 1
Person #7 24.26 6.21 Cluster 2
Person #8 11.69 18.21 Cluster 1

Langkah 5 : Selesai (nilai centroid yang dihasilkan tetap dan nggota cluster
tidak berpindah ke cluster lain)
CLUSTER AGE (s) WEIGHT (t)
Cluster 1 55.75 58.75
Cluster 2 30 52.75

5
Hasil Akhir
Cluster 1 4,5,6,8
Cluster 2 1,2,3,7

40.000
35.000
30.000
25.000
20.000
15.000
10.000
5.000
0.000
0.000 10.000 20.000 30.000 40.000

Gambar 2. Hasil Clustering dengan Algoritma K-Means

5. Kelebihan dan Kekurangan


Adapun kelebihan algoritma K-Means (Wikipedia, 2017), yaitu sebagai berikut.
a. Mudah untuk diimplementasikan dan dijalankan.
b. Waktu yang dibutuhkan untuk menjalankan pembelajaran ini relatif cepat.
c. Mudah untuk diadaptasi.
d. Umum digunakan.

Algoritma K-Means memiliki beberapa kelebihan, namun mwmiliki


kekurangan yaitu sebagai berikut.
a. Sebelum algoritma dijalankan, k buah titik diinisialisasi
secara random sehingga pengelompokkan data yang dihasilkan dapat
berbeda-beda. Jika nilai random untuk inisialisasi kurang baik, maka
pengelompokkan yang dihasilkan pun menjadi kurang optimal.
b. Dapat terjebak dalam masalah yang disebut curse of dimensionality. Hal ini
dapat terjadi jika data pelatihan memiliki dimensi yang sangat tinggi
(Contoh jika data pelatihan terdiri dari 2 atribut maka dimensinya adalah 2
dimensi. Namun jika ada 20 atribut, maka akan ada 20 dimensi). Salah satu
cara kerja algoritma ini adalah mencari jarak terdekat antara k buah titik

6
dengan titik lainnya. Jika mencari jarak antar titik pada 2 dimensi, masih
mudah dilakukan. Namun akan sulit jika mencari jarak antar titik pada 20
dimensi.
c. Jika hanya terdapat beberapa titik sampel data, maka cukup mudah untuk
menghitung dan mencari titik terdekat dengan k titik yang diinisialisasi
secara random. Namun jika terdapat banyak sekali titik data (misalnya satu
milyar buah data), maka perhitungan dan pencarian titik terdekat akan
membutuhkan waktu yang lama. Proses tersebut dapat dipercepat, namun
dibutuhkan struktur data yang lebih rumit seperti kD-Tree atau hashing.

6. Perkembangan Algoritma K-Means


Terdapat beberapa algoritma yang merupakan perkembangan/variasi dari
algoritma K-Means (Wikipedia, 2017) yaitu sebagai berikut.
a. K-Means++
Algoritma untuk memilih nilai awal algoritma K-Means. Algoritma ini
digunakan untuk mengurangi dampak buruk algoritma K-Means yang
sangat tergantung dari nilai awalnya.
b. K-Medoids
Algoritma clustering yang berbasiskan prototype/model dari cluster. K-
Means menggunakan centroid (rata-rata) sebagai model dari cluster,
sedangkan K-Medoids menggunakan medoid (median).
c. Bisecting K-Means
Ide dasarnya adalah menggunakan K-Means untuk membagi dua
suatu cluster. Awalnya setiap objek tergabung dalam satu cluster. Pada tiap
iterasi, pilih satu cluster untuk dibagi dua menggunakan K-Means. Hal ini
dilakukan hingga terbentuk k cluster. Algoritma bisecting K-Means bekerja
lebih cepat dari K-Means karena mengurangi jumlah objek yang
diperbandingkan pada setiap iterasi.

7
Referensi

Oscar, Johan. 2013. Implementasi Algoritma K-Means Clustering untuk


Menentukan Strategi Marketing President University. Jurnal Ilmiah
Teknik Industri, Vol. 12, No. 1, ISSN 1412-6869

Wikipedia. 2017. K-Means. Tersedia pada https://id.wikipedia.org/wiki/K-means


(diakses tanggal 30 April 2017)

Anda mungkin juga menyukai