2. K-means clustering adalah salah satu algoritma
unsupervised learning yang termasuk ke dalam
analisis klaster (cluster analysis) non hirarki yang
digunakan untuk mengelompokkan data
berdasarkan variabel atau feature.
3. Tujuan dari k-means clustering, seperti metode
klaster lainnya, adalah untuk mendapatkan kelompok
data dengan memaksimalkan kesamaan karakteristik
dalam klaster dan memaksimalkan perbedaan antar
klaster.
4. Algoritma K-means clustering mengelompokkan data
berdasarkan jarak antara data terhadap titik centroid
klaster yang didapatkan melalui proses berulang.
Analisis perlu menentukan jumlah K sebagai input
algoritma.
5. Tahapan K-Means Clustering:
1. Memilih jumlah cluster awal (K) yang ingin dibuat.
2. Memilih titik secara random sebanyak K buah, di mana titik ini akan menjadi
pusat (centroid) dari masing-masing kelompok (clusters).
3. Dari dataset yang kita miliki, buat dataset yang terdekat dengan titik centroid
sebagai bagian dari cluster tersebut. Sehingga secara total akan terbentuk
clusters sebanyak K buah.
4. Lakukan kalkulasi, dan tempatkan pusat centroid yang baru untuk setiap
cluster-nya. Langkah ini bisa disebut juga dengan istilah penyempurnaan
centroid.
5. Dari dataset yang kita miliki ambil titik centroid terdekat, sehingga dataset
tadi menjadi bagian dari cluster tersebut. Jika masih ada data yang berubah
kelompok (pindah cluster), kembali ke langkah 4. Jika tidak, maka
cluster yang terbentuk sudah baik.
6. Anggap kita memiliki dataset 2-dimensi. Misal adalah data pelanggan sebuah restoran sebagai
berikut:
Permasalahan yang sering muncul adalah kita tidak tahu arti dari grafik (kurva) di atas. Apa yang bisa kita
lakukan dengan data ini. Apakah bisa digali lagi lebih dalam, sehingga bisa digunakan untuk memaksimalkan
teknik pemasaran misalnya.
7. Langkah 1 (pilih jumlah K, misal K=2)
Langkah pertama adalah memilih jumlah kluster. Misal kita pilih untuk membaginya ke dalam 2
kluster.Untuk membantu menentukan jumlah kluster kita juga bisa menggunakan Elbow Method.Seperti
yang sudah dibahas sebelumnya, clustering adalah meminimumkan jarak antara data point dan centroid,
serta memaksimumkan jarak antara centroid yang dihitung menggunakan within-cluster sum of squares
atau WCSS. Tujuannya adalah menghitung WCSS se-minimum dengan jumlah cluster yang kecil agar bisa
dilakukan interpretasi data.
Langkah 2 (tentukan titik pusat untuk masing-masing kluster)
Sekarang kita akan menentukan titik pusatnya. Jadi setiap kluster memiliki titik pusatnya sendiri.Pemilihan
titik-titik ini bebas, karena nantinya algoritma K-Means akan merubah posisi tiap titik hingga dicapai solusi
paling optimal.
Anggap 2 titik pusat untuk masing-masing kluster adalah sebagai berikut:
8. Dengan demikian, maka masing-masing data point akan memilih titik pusat (centroid) yang paling dekat.
Jika sudah dipilih maka data point tersebut akan menjadi bagian dari klusternya.
Sebagai tips, untuk melihat data points mana saja yang masuk ke kluster 1 atau 2, maka cukup tarik garis
lurus antara 2 titik pusat (garis A warna hijau). Kemudian, cari titik tengah garis A, lalu dari titik tengah
tersebut buat garis tegak lurusnya (garis B warna ungu). Maka kita bisa melihat titik mana saja yang masuk
kluster 1 (sisi kiri garis B) dan mana saja yang masuk kluster 2 (sisi kanan garis B), seperti ilustrasi di bawah
ini:
9. Langkah 3 (pilih titik pusat kluster yang paling dekat untuk semua dataset)
Berdasarkan pembagian di atas, maka setiap dataset sekarang sudah masuk ke dalam salah satu kluster
seperti gambar di bawah ini:
10. Langkah 4 (Lakukan kalkulasi, pilih titik pusat yang baru. Ulangi sampai semua pembagian titik optimal)
Pada langkah ini, kita melakukan kalkulasi algoritma K-Means, di mana ia akan mencari posisi titik pusat
yang paling sesuai, berdasarkan posisi titik awalnya.
Langkah 5 (Pilih titik pusat terdekat, dan masuk ke dalam kluster tersebut. Jika masih ada perpindahan kluster,
kembali ke langkah 4.
Algoritma K-Means akan terus mencari titik pusatnya, sampai 100% pembagian datasetnya optimum.