KMeans untuk Pengklasteran dengan R

Metode pengklasteran merupakan salah satu metode pembelajaran mesin yang cukup matang dan paling umum digunakan dalam melakukan eksplorasi data. Tanpa mengetahui apapun mengenai data, kita dapat mengelompokkan data berdasarkan nilai masing-masing variabel. Salah satu algoritma yang digunakan adalah KMeans yang dalam R ada dalam paket stats.

Untuk menerapkan K-Means, ada beberapa hal yang perlu diperhatikan dalam menggunakan algoritma ini dengan R.

Argumen Fungsi KMeans

Berikut argumen yang diperlukan dalam menjalankan fungsi ini.

kmeans(x, centers, iter.max = 10, nstart = 1,
       algorithm = c("Hartigan-Wong", "Lloyd", "Forgy",
                     "MacQueen"), trace=FALSE)
## S3 method for class 'kmeans'
fitted(object, method = c("centers", "classes"), ...)

Dimana x adalah data yang ingin diklaster, centers adalah jumlah titik pusat, iter.max adalah jumlah maksimum pengulangan/iterasi, nstart adalah jumlah titik awal acak yang dibuat, algorithm adalah algoritma yang ingin dipakai, trace adalah opsi untuk informasi proses penghitungan.

Algoritma KMeans

Algoritma dasar kmeans adalah:

  1. Tentukan jumlah klaster (k), tetapkan pusat kluster secara acak;
  2. Alokasikan titik data ke dalam klaster secara acak;
  3. Hitung jarak setiap titik dengan pusat klaster;
  4. Alokasikan data ke dalam klaster dengan jarak terdekat dengan titik;
  5. Hitung pusat klaster yang baru dari klaster data yang telah terbentuk.

Langkah ke-3 sampai dengan ke-4 dilakukan berulang hingga tidak ada data yang berpindah klaster atau parameter maksimum iterasi tercapai.

Beberapa Masalah Terkait Pengklasteran dengan KMeans

Dalam menggunakan metode pengklasteran dengan kmeans ada beberapa hal yang perlu diperhatikan:

  • Ditemukan beberapa model algoritma yang berbeda utamanya penghitungan jarak;
  • Penentuan jumlah klaster yang tepat;
  • Kegagalan converge karena perpindahan antar klaster yang tidak berhenti;
  • Pendeteksian pencilan (outliers);
  • Bentuk klaster;
  • Overlapping dimana ada kemungkinan klaster di dalam klaster.

Contoh Penerapan KMeans

Pustaka

library(tidyverse)
library(cluster)

Set Data Contoh

Dalam contoh penerapan ini akan coba digunakan set data iris dimana data berisi kelompok data jenis bunga iris beserta karakternya. Dengan menggunakan karakter yang tersedia diharapkan dapat dikelompokkan bunga yang sejenis. Akurasi dapat diukur dari jumlah data yang tidak sesuai dengan kelompok aslinya.

Contoh Kode

kmeans-iris-sample-code

Tentunya contoh tersebut hanya sebagai gambaran bahwa fungsi kmeans dapat membagi kelompok menjadi 3 (tiga), walaupun perlu ada evaluasi terhadap kondisi riil dimana pembagian tidak tepat. Ketidaktepatan terjadi tidak jauh dari permasalahan mendasar algoritma kmeans sendiri yang telah disebutkan di atas. Namun untuk menuju pengembangan algoritma berikutnya, sangat perlu mengetahui dasar permasalahan algoritma ini.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Please type the characters of this captcha image in the input box

Please type the characters of this captcha image in the input box