K-Means Clustering: Contoh Perhitungan Manual dan Implementasi

Tutorial ini membahas K-Means Clustering dan contoh perhitungannya untuk mengelompokkan data berdasarkan kemiripan karakteristik. Contoh kasus yang digunakan adalah segmentasi pelanggan berdasarkan pendapatan dan pengeluaran.

Proses perhitungan dilakukan mulai dari menentukan jumlah cluster, memilih centroid awal, menghitung jarak Euclidean, menentukan anggota cluster, menghitung centroid baru, hingga iterasi berhenti ketika centroid sudah stabil.


Daftar Isi


Pengertian K-Means Clustering

K-Means adalah algoritma unsupervised learning yang digunakan untuk membagi data ke dalam sejumlah cluster berdasarkan kedekatan terhadap titik pusat cluster atau centroid.

Setiap data akan dimasukkan ke cluster dengan jarak terdekat. Setelah seluruh data memperoleh cluster, centroid dihitung kembali berdasarkan rata-rata anggota masing-masing cluster. Proses ini diulang sampai tidak terjadi perubahan centroid yang berarti.

Rumus Euclidean Distance

Pada contoh ini, jarak antara data dan centroid dihitung menggunakan Euclidean Distance.

$$ d(x,c) = \sqrt{\sum_{j=1}^{n}(x_j-c_j)^2} $$

Untuk dua atribut, rumusnya menjadi:

$$ d(x,c) = \sqrt{(x_1-c_1)^2 + (x_2-c_2)^2} $$

  • \(d(x,c)\): jarak data \(x\) terhadap centroid \(c\)
  • \(x_j\): nilai atribut ke-\(j\) pada data
  • \(c_j\): nilai atribut ke-\(j\) pada centroid
  • \(n\): jumlah atribut

Data Contoh

Data berikut merupakan contoh 10 pelanggan. Nilai pendapatan dan pengeluaran dibuat dalam skala sederhana agar proses perhitungan manual lebih mudah diikuti.

Data pelanggan untuk contoh perhitungan K-Means.
Kode Nama Pendapatan Pengeluaran
D1 Pelanggan 1 2 3
D2 Pelanggan 2 3 4
D3 Pelanggan 3 2 5
D4 Pelanggan 4 5 6
D5 Pelanggan 5 6 7
D6 Pelanggan 6 6 5
D7 Pelanggan 7 8 3
D8 Pelanggan 8 9 2
D9 Pelanggan 9 8 4
D10 Pelanggan 10 9 5

#01 Menentukan Jumlah Cluster

Jumlah cluster pada contoh ini ditentukan sebanyak K = 3. Artinya seluruh data pelanggan akan dikelompokkan menjadi 3 kelompok.

Dalam implementasi nyata, nilai K dapat ditentukan menggunakan pengetahuan domain atau metode evaluasi seperti Elbow Method.

#02 Menentukan Centroid Awal

Centroid awal pada contoh ini dipilih dari beberapa data agar proses perhitungan mudah direproduksi. Pemilihan centroid awal adalah:

Cluster Pendapatan Pengeluaran
C1 2 3
C2 6 7
C3 9 2

#03 Iterasi K-Means

Pada setiap iterasi, jarak setiap data terhadap seluruh centroid dihitung. Data kemudian ditempatkan pada cluster yang memiliki jarak paling kecil.

Iterasi 1

Centroid Sebelum Perhitungan

Cluster Pendapatan Pengeluaran
C1 2 3
C2 6 7
C3 9 2

Perhitungan Jarak dan Cluster

Sebelum melihat tabel, berikut contoh cara mendapatkan nilai jarak untuk D1 - Pelanggan 1 pada iterasi 1.

Jarak ke C1: √((2 - 2)² + (3 - 3)²) = 0

Jarak ke C2: √((2 - 6)² + (3 - 7)²) = 5.6569

Jarak ke C3: √((2 - 9)² + (3 - 2)²) = 7.0711

Nilai jarak terkecil menentukan cluster data tersebut. Pada iterasi ini, D1 masuk ke C1.

Jarak setiap data ke centroid pada iterasi 1.
Data Jarak C1 Jarak C2 Jarak C3 Cluster
D1 - Pelanggan 1 0 5.6569 7.0711 C1
D2 - Pelanggan 2 1.4142 4.2426 6.3246 C1
D3 - Pelanggan 3 2 4.4721 7.6158 C1
D4 - Pelanggan 4 4.2426 1.4142 5.6569 C2
D5 - Pelanggan 5 5.6569 0 5.831 C2
D6 - Pelanggan 6 4.4721 2 4.2426 C2
D7 - Pelanggan 7 6 4.4721 1.4142 C3
D8 - Pelanggan 8 7.0711 5.831 0 C3
D9 - Pelanggan 9 6.0828 3.6056 2.2361 C3
D10 - Pelanggan 10 7.2801 3.6056 3 C3

Centroid Baru Iterasi 1

Centroid baru dihitung dari rata-rata setiap atribut pada seluruh anggota cluster.

Contoh perhitungan centroid baru untuk C1. Anggotanya adalah D1, D2, D3.

Centroid pendapatan C1: (2 + 3 + 2) / 3 = 2.3333

Centroid pengeluaran C1: (3 + 4 + 5) / 3 = 4

Cluster Anggota Centroid Pendapatan Centroid Pengeluaran
C1 D1, D2, D3 2.3333 4
C2 D4, D5, D6 5.6667 6
C3 D7, D8, D9, D10 8.5 3.5

Centroid masih berubah, sehingga perhitungan dilanjutkan ke iterasi berikutnya.

Iterasi 2

Centroid Sebelum Perhitungan

Cluster Pendapatan Pengeluaran
C1 2.3333 4
C2 5.6667 6
C3 8.5 3.5

Perhitungan Jarak dan Cluster

Sebelum melihat tabel, berikut contoh cara mendapatkan nilai jarak untuk D1 - Pelanggan 1 pada iterasi 2.

Jarak ke C1: √((2 - 2.3333)² + (3 - 4)²) = 1.0541

Jarak ke C2: √((2 - 5.6667)² + (3 - 6)²) = 4.7376

Jarak ke C3: √((2 - 8.5)² + (3 - 3.5)²) = 6.5192

Nilai jarak terkecil menentukan cluster data tersebut. Pada iterasi ini, D1 masuk ke C1.

Jarak setiap data ke centroid pada iterasi 2.
Data Jarak C1 Jarak C2 Jarak C3 Cluster
D1 - Pelanggan 1 1.0541 4.7376 6.5192 C1
D2 - Pelanggan 2 0.6667 3.3333 5.5227 C1
D3 - Pelanggan 3 1.0541 3.8006 6.6708 C1
D4 - Pelanggan 4 3.3333 0.6667 4.3012 C2
D5 - Pelanggan 5 4.7376 1.0541 4.3012 C2
D6 - Pelanggan 6 3.8006 1.0541 2.9155 C2
D7 - Pelanggan 7 5.7542 3.8006 0.7071 C3
D8 - Pelanggan 8 6.9602 5.2068 1.5811 C3
D9 - Pelanggan 9 5.6667 3.0732 0.7071 C3
D10 - Pelanggan 10 6.7412 3.4801 1.5811 C3

Centroid Baru Iterasi 2

Centroid baru dihitung dari rata-rata setiap atribut pada seluruh anggota cluster.

Contoh perhitungan centroid baru untuk C1. Anggotanya adalah D1, D2, D3.

Centroid pendapatan C1: (2 + 3 + 2) / 3 = 2.3333

Centroid pengeluaran C1: (3 + 4 + 5) / 3 = 4

Cluster Anggota Centroid Pendapatan Centroid Pengeluaran
C1 D1, D2, D3 2.3333 4
C2 D4, D5, D6 5.6667 6
C3 D7, D8, D9, D10 8.5 3.5

Centroid pada iterasi ini tidak berubah, sehingga proses K-Means dihentikan.

#05 Hasil Akhir Cluster

Proses K-Means berhenti setelah 2 iterasi. Hasil pengelompokan akhir adalah sebagai berikut.

Hasil akhir cluster K-Means.
Kode Nama Pendapatan Pengeluaran Cluster
D1 Pelanggan 1 2 3 C1
D2 Pelanggan 2 3 4 C1
D3 Pelanggan 3 2 5 C1
D4 Pelanggan 4 5 6 C2
D5 Pelanggan 5 6 7 C2
D6 Pelanggan 6 6 5 C2
D7 Pelanggan 7 8 3 C3
D8 Pelanggan 8 9 2 C3
D9 Pelanggan 9 8 4 C3
D10 Pelanggan 10 9 5 C3

Centroid Akhir

Cluster Pendapatan Pengeluaran Jumlah Anggota
C1 2.3333 4 3
C2 5.6667 6 3
C3 8.5 3.5 4

Interpretasi Cluster

Cluster C1 terdiri dari Pelanggan 1, Pelanggan 2, Pelanggan 3. Centroid akhirnya berada pada (2.3333, 4).

Cluster C2 terdiri dari Pelanggan 4, Pelanggan 5, Pelanggan 6. Centroid akhirnya berada pada (5.6667, 6).

Cluster C3 terdiri dari Pelanggan 7, Pelanggan 8, Pelanggan 9, Pelanggan 10. Centroid akhirnya berada pada (8.5, 3.5).

Label seperti “rendah”, “menengah”, atau “tinggi” sebaiknya diberikan setelah melihat karakteristik centroid dan konteks data. K-Means sendiri menghasilkan nomor cluster, bukan makna bisnis secara otomatis.

Ringkasan

K-Means mengelompokkan data dengan cara menghitung jarak terhadap centroid, memasukkan data ke cluster terdekat, kemudian menghitung centroid baru. Tahapan tersebut terus diulang sampai centroid stabil. Pada contoh ini, 10 data pelanggan berhasil dikelompokkan menjadi 3 cluster setelah 2 iterasi.

FAQ K-Means

Apa fungsi K-Means?

K-Means digunakan untuk mengelompokkan data yang memiliki karakteristik mirip tanpa memerlukan label kelas sebelumnya.

Apa itu centroid?

Centroid adalah titik pusat sebuah cluster yang dihitung dari rata-rata nilai seluruh anggota cluster.

Bagaimana menentukan jumlah cluster K?

Nilai K dapat ditentukan berdasarkan kebutuhan analisis, pengetahuan domain, atau menggunakan metode evaluasi seperti Elbow Method dan Silhouette Score.

Mengapa hasil K-Means dapat berbeda?

Hasil K-Means dapat berbeda jika centroid awal berbeda. Pada implementasi tertentu, teknik seperti K-Means++ digunakan untuk membantu memilih centroid awal yang lebih baik.

Kapan iterasi K-Means berhenti?

Iterasi berhenti ketika centroid tidak lagi berubah secara berarti atau ketika batas maksimum iterasi yang ditentukan telah tercapai.

Apakah atribut harus memiliki skala yang sama?

Sebaiknya atribut yang memiliki skala sangat berbeda dinormalisasi atau distandardisasi terlebih dahulu agar satu atribut tidak mendominasi perhitungan jarak.


Referensi

  1. MacQueen, J. (1967). Some Methods for Classification and Analysis of Multivariate Observations. Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability.
  2. Han, J., Kamber, M. & Pei, J. (2012). Data Mining: Concepts and Techniques, 3rd Edition. Morgan Kaufmann.

Source Code Metode K-Means

Berikut adalah beberapa source code yang menggunakan metode K-Means, baik berbasis web maupun desktop.

Ada yang Ditanyakan?

Jika anda masih ada kesulitan atau kekeliruan tentang penjelasan metode di atas, bisa menghubungi kami lewat WA/Email sesuai halaman Kontak.

Jika ingin memiliki file excel dari metode di atas bisa melihat cara download di halaman Download.

Jika ingin memiliki source code dari metode di atas, baik berbasis web maupun desktop bisa melihat daftar harga donasi di halaman Daftar Source Code.

Donasi ini digunakan oleh penulis untuk membayar server dan membeli kopi sembari membuat tutorial Metode/Algoritma lainnya :).