Akurasi Hasil Pemodelan K-Means

11 03 2008

Ada yang menanyakan tentang bagaimana mengetahui apakah model clustering yang didapatkan dengan k-means sudah cukup akurat atau tidak?

Memang sedikit susah kalau kita ingin menilai tingkat akurasi pemodelan clustering yang kita dapatkan kalau kita menggunakan metode k-means. Ada suatu pendekatan yang sering dipasangkan dengan k-means dalam pemodelannya yaitu Partition Entroy (PE). Tetapi saya selalu mendapat hasil yang mengecewakan pada saat menggunakan metode ini.

Sebagai alternatif, mungkin anda bisa menggunakan suatu trik yang menurut saya lebih aplikatif dan rasional berikut ini:

  • Pertama, pilah data yang dimiliki menjadi dua set data yang mungkin ukuran tertentu, mungkin sekitar 80%:20%. Yang 80% dipakai sebagai training data, data yang digunakan untuk memodel. Sedangkan yang 20% digunakan sebagai validation data. Gunakan metode random dalam memilah data tersebut.
  • Selanjutnya lakukan pemodelan menggunakan k-means terhadap training data. Catat persentase data yang menjadi bagian masing-masing cluster dan cluster center dari masing-masing cluster.
  • Kemudian, model validation data dengan k-means. Bandingkan persentase data yang menjadi bagian dari masing-masing cluster yang terbentuk dengan persentase yang didapat dengan memodel training data. Bandingkan pula cluster center dari kelompok yang dihasilkan dalam pemodelan validation data dan pemodelan training data. Metode membandingkan bisa saja dengan melihat jarak cluster center dan perbedaan persentase antara kedua model yang didapat. Tentu saja cluster mana yang cocok dengan cluster mana harus dicari suatu trik sehingga jarak terdekat ‘dan’ perbedaan persentase terkecillah yang menjadi hasil perbandingan.
  • Model yang mempunyai perbedaan antara training data dan validation data terkecil yang dipilih sebagai model yang paling tepat. Contohnya, apabila model k-means dengan dua kelompok lebih bagus daripada dengan tiga kelompok, maka model dengan dua kelompok itulah yang paling akurat.

Untuk menambah akurasi, proses tahap 1 sampai 3 mungkin bisa dilakukan berulang beberapa kali (misalnya 10 kali), dan perbedaan antara hasil pemodelan training data dan test data pada tahap 4 dicari dengan nilai rata-rata perbedaan setiap pemodelan yang dilakukan.

Mudah-mudahan membantu.


Actions

Information

9 responses

30 03 2009
Yudi Agusta

Sdr/i Puji, benar sekali, apa yang dimaksud di sini adalah Cross Validation. Gak ada rumus tertentu, hanya balik ke metode KMeans yang digunakan.

Semoga menjawab

11 03 2009
puji

oh ya pak, punya refernsi ttg rumus nya ga pa??
soalny udah googling terus2an ga dapet2,,,cuma d bahas konsep nya aja,,,
terima kasih

11 03 2009
puji

bapak,,maksudnya iti cross validation ya??????
saya lagi nyusun skripsi ttg itu,,,punya rumus nya ga pak???
makasih

1 08 2008
Yudi Agusta

Lihat tulisan saya tentang k-mean di sini.

31 07 2008
lia

pak, saya sedang skripsi.metode k-means clustering itu gmana y??bisa ga dijelaskan lebih detail lagi??makasih y..klo bisa kirim ke email saya aja pak

9 04 2008
Yudi Agusta

Clustering merupakan unsupervised classification method. Berbeda dengan supervised classification, metode ini umumnya tidak mencari tingkat error model yang dihasilkan, karena data yang tersedia memang tidak ada label/class-nya.

Kalau memang ingin mengeluarkan tingkat error, bisa diakali dengan menyediakan test data (selain training dan validation data di atas) dan mengulangi prosedur tahap ke-tiga dan ke-empat dalam tulisan di atas. Tetapi yang dibandingkan kali ini adalah training data dan test data (bukan validation data).

Semoga membantu.

9 04 2008
umi

Pak, klo mencari errornya seperti apa? apakah sama dengan mencari tingkat akurasi ?Berarti untuk mencari tingkat akurasi cluster tidak ada persamaan baku ya, pak?

26 03 2008
Yudi Agusta

80% dan 20% itu hanya ancer-ancer saja. Bisa menggunakan perbandingan persentase lainnya. Cara membagi ke dalam training data dan validation data, bisa dengan menggunakan metode simple random sampling.

26 03 2008
umie

pak, maaf saya masih kurang ngerti?tentang pembagian 80% dan 20 %. diprogramnya saya punya kendala .saya kemaren juga membagi kedalam 2 cluster sampai dengan 6 cluster.tapi sempat ditanya kenapa seperti itu?
jadi solusinya diambil yang 6 cluster aja…
bpk, bisa pemrograman java ?bisa bantun saya? maksih udh bantu.

Leave a comment