K-Means Machine Learning


Apa itu K-Means Clustering?

   K-means clustering adalah salah satu algoritma analisis klaster (cluster analysis) non hirarki. Analisis  klaster  merupakan  salah  satu  alat  untuk  mengelompokkan  data berdasarkan variabel atau feature.

   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.

  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.

Contoh Aplikasi  K-means

Contoh penggunaan K-means clustering antara lain:

  • Segmentasi pasar (market segmentation)
  • Segmentasi citra
  • Kompresi gambar
  • Klasifikasi citra penginderaan jauh

Metode Algoritma K-Means Clustering (step by step)

Algoritma K-means clustering dilakukang dengan proses sebagai berikut:

Langkah 1: tentukan jumlah cluster (k). Dalam contoh ini, kita tetapkan bahwa K =3 

Langkah 2: pilih titik acak sebanyak k. Titik ini merupakan titik seed dan akan menjadi titik centroid proses pertama. Titik ini tidak harus titik data kita

Langkah 3: label semua data berdasarkan titik centroid terdekat. Semua data diberikan label mengikuti titik centroid dari setiap klaster. Perhitungan jarak ini bisa menggunakan algoritma jarak tertentu, secara default dilakukan dengan Euclidean Distance

Langkah 4: tentukan titik centroid baru berdasarkan cluster yang terbentuk. Titik centroid selanjutnya “berpindah” ke lokasi centroid setiap cluster yang telah terbentuk.

Langkah 5: label ulang data  berdasarkan jarak terdekat terhadap centroid baru. Langkah ini merupakan langkah yang sama dengan langkah ketiga. Perhatikan titik data yang diberikan tanda panah, berubah dari cluster merah ke cluster biru.

Langkah 6: ulangi langkah 4 dan langkah 5 sampai tidak ada pergerakan lagi. Secara berulang, algoritma akan mencari lokasi centroid baru dan melabel data berdasarkan centroid tersebut sampai mendapat hasil final, yaitu tidak ada lagi perpindahan centroid di setiap cluster. 

Dalam k-means clustering, jarak ini dapat diukur menggunakan jarak:

  • Euclidean distance
  • Manhattan distance
  • A squared euclidean distance measure
  • Cosine distance measure 
  • Kelebihan dan keunggulan

Kelebihan-Kelebihan K-Means

  • Algoritma yang sederhana dan mudah dipahami
  • Cepat pemrosesannya
  • Tersedia di berbagai tools atau software
  • Mudah dalam penerapannya
  • Selalu memberikan hasil, apapun datanya.
  • Kelemahan dan kekurangan

Kekurangan-kekurangan K-Means

  • Hasilnya sensitif terhadap jumlah cluster (K). Solusinya, dapat dengan menggunakan Elbow Method, dengan menghitung dan membandingkan nilai WCSS. Lihat penjelasannya di bawah.
  • Sensitif terhadap inisialisasi “seed”. Untuk mengatasi ini, kita bisa menerapkan algoritma K-means ++
  • Sensitif terhadap pencilan atau outlier. Solusi untu masalah ini adalah dengan menghapus outlier dengan hati-hati dan berbagai pertimbangan.
  • Sensitif terhadap data dengan variabel yang memiliki skala berbeda. Maka, sebaiknya kita selalu melakukan scale atau standardisasi data sebelum melakukan k-means clustering. Satu kondisi di mana sebaikany kita tidak melakukan standardisasi data adalah ketika satu variabel memiliki bobot atau nilai penting yang lebih tinggi daripada yang lain.
  • Mengasumsikan setiap klaster berbentuk menyerupai lingkaran (spherical) dan kesulitan jika bentuk cluster yang memiliki bentuk berbeda.

Komentar

Postingan populer dari blog ini

Agglomerative Hierarchical Clustering