ALGORITMA K-MEANS
Oleh :
Nengah Widya Utami
1629101002
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 :
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
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.
Start
Banyaknya
cluster K
Tentukan centroid
Kelompokkan obyek
berdasar jarak minimum
tidak
End
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
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
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.
7
Referensi