Machine Learning: K-Means Clustering

Catatan penting : Jika Anda benar-benar awam tentang apa itu Python, silakan klik artikel saya ini. Jika Anda awam tentang R, silakan klik artikel ini.

Seperti yang kita ketahui bahwa ML (Machine Learning) secara umum dibagi ke dalam 3 jenis, yaitu supervised, unsupervised dan reinforcement learning. Clustering merupakan ML yang masuk ke dalam kategori unsupervised learning, karena kita tidak memberitahu agen bagaimana cara melakukan sesuatu.

Inti dari K-Means adalah kita mengelompokkan suatu dataset ke dalam beberapa kelompok, sebanyak K buah. Perlu diingat bahwa K adalah jumlah awal, di mana algoritmanya nanti akan mencari pengelompokan (clustering) yang paling baik. Penentuan angka K di tahap awal ini sangat krusial dalam melakukan proses clustering.

Pengelompokan yang paling baik itu seperti apa? Yaitu pengelompokkan di mana semua kelompok yang dibuat bisa mewakili dataset dengan sempurna, yang ditunjukkan oleh jarak antara satu kelompok yang satu dengan yang lain sangat signifikan. Tentu dengan belajar melalui sebuah contoh nyata akan lebih mudah memahaminya.

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.

Untuk memberikan gambaran yang jelas (sebelum latihan dengan bahasa phyton atau R), akan saya berikan ilustrasi yang mudah untup setiap langkahnya.

Anggap kita memiliki dataset 2-dimensi. Misal adalah data pelanggan sebuah restoran sebagai berikut:

Grafik pelanggan, sumbu x adalah pendapatan dan sumbu y adalah rating pembelian dia setiap berkunjung ke restoran.

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.

Langkah 1 (pilih jumlah K, misal K=2)

Langkah pertama adalah memilih jumlah kluster. Misal kita pilih untuk membaginya ke dalam 2 kluster kali ini (tentunya penentuan K bebas, tapi ada metode optimum yang akan kita pakai nanti).

Langkah 2 (tentukan titik pusat untuk masing-masing kluster)

Sekarang kita akan menentukan titik pusatnya. Jadi setiap kluster memiliki titik pusatnya sendiri. Tenang saja, 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:

Dua titik kluster. Titik merah mewakili pusat dari kluster 1, dan biru untuk kluster 2.

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:


Tips mengetahui pembagian kluster secara visual.

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:

Titik berwarna merah masuk ke kluster 1, dan titik berwarna biru masuk ke kluster 2.

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.

Perpindahan titik pusat.

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.

Untuk melanjutkan membaca silakan klik halaman berikutnya di bawah ini.

Bagikan artikel ini:

Pages: 1 2 3 4

4
Leave a Reply

avatar
2 Comment threads
2 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
EkoMB HerlambangRizki Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Rizki
Guest
Rizki

makasih pak, sangat jelas detail dan bisa di jalankan tanpa adanya kesulitan

Eko
Guest
Eko

Kalau mengacu pada formula machine learning (Tom M. Mitchell), Formula T,P,E (Task,Performance,Experience) untuk kasus clustering/unsupervised learning ini mengidentifikasinya bagaimana ya pak?