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

63 responses

4 04 2016
Juli

Permisi pak.. mau nanya..
saya sdg mngambil jdul skrpsi mngenai klasifikasi status desa brdsarkan balita jumlah pederita gizi bruk mnggunakan KNN,
Sedangkan data yg saya punya blum memiliki label sama skali, jadi yg saya mau tanyakan pak, bisa tidak saya gunakan k-means clustering untuk memperoleh label datax dan mnjadikan data hasil clustering trsebut sbg data pemblajaran di KNN nanti?

Trimakasih pak,,

20 04 2016
Yudi Agusta

Bisa saja, akan tetapi tetap arti dari label class tersebut tidak bisa dijelaskan, dan hanya akan bisa dijelaskan menggunakan ciri-ciri dari class yang didapatkan menggunakan pemodelan clustering tersebut. Tks

4 04 2016
Yuli

Slamat sore pak..
saya sdg mngambil jdul skrpsi mngenai klasifikasi status desa brdsarkan balita jumlah pederita gizi bruk mnggunakan KNN,
Sedangkan data yg saya punya blum memiliki label sama skali, jadi yg saya mau tanyakan pak, bisa tidak saya gunakan k-means clustering untuk memperoleh label datax dan mnjadikan data hasil clustering trsebut sbg data pemblajaran di KNN nanti?
Trimakasih pak,, mohon pencerahanx..

20 04 2016
Yudi Agusta

Bisa saja, akan tetapi tetap arti dari label class tersebut tidak bisa dijelaskan, dan hanya akan bisa dijelaskan menggunakan ciri-ciri dari class yang didapatkan menggunakan pemodelan clustering tersebut. Tks

2 03 2015
elvi

Permisi pak
saya mau tanya, saya sedang TA dengan judul Penerapan algoritma k-means clustering untuk pengelompokan data nilai berdasarkan kompetensi mahasiswa.. nah pertanyaan saya apakah kira2 judul saya itu cocok untuk pengklastran?? Mohon bantuannya.. trmkasih

7 03 2015
Yudi Agusta

Data yang dijadikan dasar pengelompokan data nilai atau data kompetensi atau dua-duanya. Kalau menggunakan k-means, sebaiknya memang dua-duanya digunakan. Nanti hasil clustering, hanya akan bisa dijelaskan modelnya, setelah proses clustering selesai dilaksanakan.

29 12 2014
tri darent

Siang pak, saya sedang mengerjakan tugas akhir tentang pengelompokan data menggunakan. data yang sedang saya olah hanya terdiri satu dimensi (satu kelompok), saya ingin mengelompokan menjadi tiga cluster, dapatkah saya menggunakan k-means. trimkasih dan mohon bantuanya

1 03 2015
Yudi Agusta

Tentu bisa. K-means merupakan metode clustering, yang mengelompokkan data berbasis karakteristik data yang ada. Biasanya kita tidak tahu data tersebut sebenarnya terdiri dari berapa kelompok, dengan metode clustering yang bagus, bahkan kita bisa mendapat model yang bisa menunjukkan apakah data kita memang terdiri dari satu kelompok atau lebih dari satu kelompok. Tks

4 08 2014
Yudi Agusta

Pertanyaan dari Sdr Eko BS:

Selamat Sore Pak Yudi..
Perkenalkan nama saya eko. Pak yudi tulisan bapak sangat membantu saya dalam memberikan pengetahuan tentang data mining,
bapak kalo boleh saya bertanya, mohon diberikan contoh sederhana untuk perhitungan cross validation pada hasil clustering
untuk algoritma k-means..
saya sudah membaca penjelasan tulisan bapak di blog.. namun masih kurang mengerti
mohon kalo bapak berkenan saya diberikan contoh real yang sederhana, agar saya bisa mengerti..
terimakasih bapak…🙂

4 08 2014
Yudi Agusta

Intinya pada saat melakukan cross validation, data yang dimiliki dibagi menjadi 2 bagian, satu bagian untuk training, dan satu bagian untuk testing. Apabila hasil clustering untuk data testing, sama dengan/similar dengan hasil clustering untuk data training, maka model dari data training dianggap valid.

Demikian

16 05 2014
indra

selamat pagi pak Yudi,
jad begini saya sedang megerjakan skripsi dean tema nya tentang clustering, namun saya gunakan untuk mengklustering citra, kira2 proses hitungannya gimana ya, mohon bantuanya Ya Pak
Terimakasih

19 06 2014
Yudi Agusta

Untuk melakukan clustering citra perlu melakukan ekstraksi ciri terlebih dahulu. Setelah melakukan ekstraksi ciri untuk masing-masing citra, baru bisa dilanjutkan ke proses clustering.

Demikian dan semoga menjawab

29 08 2013
Raden MuslichunAlcharis Triatmaja

salam kenal, pak saya mau tanya. di k-means keberhasilan dalam proses clusterisasi ditentukan dari keberhasilan dalam mengelompokkan fitur-fitur yang berdekatan kedalam suatu cluster. dalam pengclusteran fitur tersebut tergantung dari bagus atau tidaknya penentuan kedekatan jarak ( distance space).
yang saya tanyakan kalau data yang saya pakai image, contoh untuk mensegmentasi suatu wilayah tertentu dalam suatu image. similarity distance yang bagus itu pakainya apa!?
tolong bantuannya

26 02 2014
Yudi Agusta

Kalau untuk image segmentasi, sebelum masuk ke proses clustering, dilakukan feature extraction dulu, untuk mencari karakteristik dari image tersebut. Setelah itu distance seperti apapun boleh digunakan. Yang umum digunakan adalah Eucledian distance.

Regards.

24 05 2013
vivin

pak mintak contoh studi kasus tentang algoritma k-means dunk pak..

26 02 2014
Yudi Agusta

Mmm untuk k-means bisa ngambil contoh market segmentasi. Itu yang paling umum.

Regards,

18 09 2012
saban muliadinata

Pak kalau membandingkan akurasi hasil pngelompokkan data, antara metode K-means dengan metode KNN bagaimana ya pak?

26 02 2014
Yudi Agusta

Kedua metode mempunyai tujuan yang berbeda. K-means untuk clustering, knn untuk klasifikasi. Jadi secara metode tidak bisa dibandingkan.

Regards,

21 06 2012
Zettax

Minta contoh setudi kasus tentang clustering dunk pak. Kalau bisa tolong kirimkan lewat email pak.

26 02 2014
Yudi Agusta

Market segmentasi merupakan contoh yang umum untuk clustering.

Regards,

20 12 2011
nur

sore pak yudi, sya mau tnya apakah cross validation bisa dgunakan untuk uji akurasi kmeans?
mohon diberi penjelasan. trimakasih

21 12 2011
Yudi Agusta

Ya, tulisan saya di atas merupakan pengujian dengan cross validation tersebut.

19 12 2011
Dian

slam knal pak yudi,..
mw tnya bgaimana pengujian kmeans terhadap data sya. Data sya tlah memiliki label, ada 3 kategori. jd jmlah cluster dtentukan 3 jg(semi-unsupervised sperti tlisan bpak di jurnal informatika vol3). setelah proses kmeans, data terbagi2 dlm 3 cluster. pertayaan1: bagaimana menentukan label di stiap clusternya? dlm skripsi sya tdk memliki skala/range nilai untuk labelisasinya.
trs msal cluster tlah terlabel, slnjutnya sya ada input data testing. pertanyaan2: klo tlisan bpk di atas ttg pengujian berapa cluster yg tepat, trs bagaimana sya melakukan pengujian untuk data sya?
pertanayan3: apakah kmeans bsa d uji dgn cross validation?
trimakasih sbelumnya,..

21 12 2011
Yudi Agusta

Untuk data yang sudah mempunyai label setiap recordnya, dan apabila label itu digunakan dalam pemodelan, pemodelan tersebut masih dalam kategori supervised classification. Apabila label tidak digunakan dalam pemodelan, dan hanya memakai informasi jumlah label yang tersedia, baru bisa dikatakan sebagai unsupervised classification.

Coba dicermati dulu apakah pemodelan yang dilakukan termasuk supervised atau unsupervised.

15 11 2011
Nabila Firdausi

Bapak, bila membandingkan antara metode K-Means dan Fuzzy C-Means bagaimana caranya? apakah dibandingkan dari hasilnya pengklusterannya ataukah dari nilai error SSE terkecil? terimakasih banyak..

21 11 2011
Yudi Agusta

Iya bisa dengan membandingkan SSEnya, biasanya fuzzy c-means memberikan hasil yang lebih bagus karena ada faktor fuzzynya. Fuzzy lebih memperhalus proses clustering dan hasilnya lebih mengakomodasi karakteristik dari data.

Semoga menjawab.

9 11 2011
kurnia

Pak…maaph saya mw tanya lagi…
bagaimana solusi yang tepat untuk menentukan centroid awal dan menghindari hasil Cluster yang Random? saya memakain metode Clustering k-Means…. terimakasih Pak…..

21 11 2011
Yudi Agusta

Seperti jawaban saya terhadap pertanyaan terdahulu, bisa dicoba dengan memulainya dari penentuan data mana yang masuk ke cluster mana secara random. Karena data dalam jumlah besar, tingkat randomnya lebih mengena, daripada melakukan random cluster center terlebih dahulu.

Semoga membantu.

9 11 2011
blogdrenalinThio

salam kenal pak,,saya thio,, lgi ngerjain tugas akhir ttg pengelompokan data perkebunan dg metode k-means,,nah sya udah implemen kan algoritma kmeans yg euclidean,,,stiap kali di dibandingkan hasil run yg pertama dengan yang kedua kadang sama kadang beda,,nah itu gmn ya pak,,apa emang demikian k-means….atau itu salah satu kelemahan k-means ?..dari sisi pemrograman sudah sya pastikan benar,,,,mohon pencerahan pak,,,makasi sebelumnya pak🙂

21 11 2011
Yudi Agusta

Ya benar, kadang-kadang hasil pemodelan k-means terpengaruh dari bagaimana cluster center ditentukan pertama kali. Usul saya dicoba dengan penentuan data secara random ke masing-masing cluster terlebih dahulu, baru menentukan cluster center. Biasanya kalau datanya dalam jumlah yang mencukupi, karena penentuannya secara random, akan memberikan hasil pemodelan yang lebih natural dan sesuai dengan data.

Silahkan mencoba, saya tunggu komentarnya.

1 11 2011
kurnia

Pak…Saya mw tanya…
saya mengambil metode untuk Tygas Akhir saya menggunakan Clustering k-means untuk pengelompokkan pelanggan.
saya mw tanya pak… cara menetukan kelompok itu bagaimana pak?
terus apakah hasil dari cluster dengna k-menas ini hasilnya random y Pak>
terima kasih sebelumnya…

2 11 2011
Yudi Agusta

Proses penentuan jumlah cluster ada yang dilakukan sebelum melakukan pemodelan k-means, ada yang berbarengan dan dengan proses pemodelan k-means.

Yang sebelum proses ada metode-metode seperti partition entropy, bootstrapped method. Untuk yang berbarengan ada elbow criterion, G-Means, X-Means dll.

Umumnya metode yang dilakukan bersamaan dengan proses clustering akan memberikan hasil yang lebih sesuai dengan keadaan data dan metode clustering yang digunakan. Metode penentuan sebelum proses, kemungkinan tidak mempunyai kesamaan dengan metode clustering yang digunakan untuk memodel.

Untuk melihat akurasi dari hasil pemodelan, bisa dilakukan sesuai dengan tulisan yang di atas.

Semoga menjawab.

1 11 2011
echa

pagi pak..saya saat ini lg nyusun skripsi. Saya terpaksa harus ganti metode,kmren menggunakan ant-kmeans tapi saya kesulitan untuk perhitungan manualnya soalnya g ada literatur yg mendukung,nah skrg sy lagi bingung Kmeans di hybrid dengan apa untuk menentukan centroidnya,seperti yg diketahui bahwa kelemahan K-means kalau salah menentukan centroid makan hasil tidak optimal. mohon sarannya pak.. terimakasih

1 11 2011
Yudi Agusta

Untuk masalah anda, mungkin perlu dicoba untuk tidak memulai iterasi dengan menentukan centroid terlebih dahulu, melainkan meng-assign data secara acak terlebih dahulu ke masing-masing cluster. Karena menentukan centroid terlebih dahulu memang cenderung akan menimbulkan bias.

Lakukan pemodelan beberapa kali. Penentuan model bisa dilakukan dengan melihat model mana yang paling banyak menjadi hasil akhir dari proses clustering, atau anda bisa mengkonfirmasikannya menggunakan metode yang dijelaskan dalam tulisan di atas.

Semoga membantu.

4 05 2011
abdul fatah

pak saya lagi mengerjakan tugas akhir tentang k-means pengelompokan daerah potensi, saya masih ada kendala tentang ekstraksi datanya(preprosesing) data sebelum masuk kedalam kmeansnya, bapak biasanya pada ektraksi menggunakan metode apa pak? mkasih tolong dibantu ya pak.

6 10 2011
Yudi Agusta

Tergantung pada datanya. Image, document atau yang lainnya, karena caranya berbeda beda.

Semoga menjawab

28 04 2011
yudha

pak gk da contoh source code kmeansnya pak?

6 10 2011
Yudi Agusta

Cari saja library yang mencakup k-means di internet, dan gunakan dalam program anda. Tetapi tentu saja anda akan kehilangan kesempatan untuk mengerti k-means.

Salam

23 04 2011
Rachmad

Mau tanya Pak??? Perbedaan inti Fuzzy C-Mean dan K-Mean biasa itu dimananya ??! terus untuk Jumlah nilai input cluster yg cocok itu ditentukan dari apa pak??!!

6 10 2011
Yudi Agusta

Bedanya dari cara menentukan apakah suatu data secara pasti (k-means) atau tidak pasti (fuzzy c-means) masuk ke dalam suatu cluster. Kalau yang pasti (k-means), masuk tidaknya suatu data dalam suatu kelompok ditentukan dengan nilai 1 atau 0 (ya atau tidak), sedangkan dalam fuzzy c-means, ditentukan dengan nilai DI ANTARA 1 DAN 0 (bisa 0,7, bisa 0,1 dll).

Menentukan jumlah cluster dilakukan dengan cara try and error. Itu yang paling mudah. Tetapi bisa juga dilakukan dengan menggunakan metode seperti partition entropy, atau bootstrapping.

Demikian dan semoga menjawab.

13 04 2011
K-MeaNs « electriboy

[…] cara. Salah satunya adalah dengan cara manual yang saya jelaskan dalam posting saya tentang Akurasi Hasil Pemodelan K-Means yang sering juga direfer sebagai Bootstrapped Method. Selain itu ada beberapa cara yang lain yang […]

12 04 2011
SALIHIN

halloo Pak..
saya punya masalah buat menentukan minat pengunjung di sebuah perpustakaan menggunakan metode k-means..mohon bantuannya pak..
makasih.

6 10 2011
Yudi Agusta

Silahkan…

11 12 2010
tere

malam pak… sekiranya saya punya sebuah kasus menentukan daerah strategis bagi suatu perusahaan untuk membuka kantor cabang yang baru, apakah dengan menggunakan k-means dapat membantu?
atau menggunakan metode yang lain? mohon saran. terimakasih

16 02 2011
Yudi Agusta

K-Means umumnya digunakan untuk segmentasi pasar. Bisa saja dgunakan untuk prediksi ke kelompok mana suatu wilayah itu akan mempunyai kecenderungan, tapi untuk menentukan ‘secara langsung’ suatu daerah itu potensi untuk menjadi daerah untuk mendirikan perusahaan, sebaiknya menggunakan metode klasifikasi seperti artificial neural networks, decision trees atau yang metode klasifikasi sejenisnya.

Demikian semoga menjawab.

11 05 2010
bagas pradipta

selamat malam pak,, kalau K-means digunakan untuk mengolah suara menggunakan matlab gimana ya pak?, masih bingung untuk memulainya,,setelah ekstraksi ciri. terimakasih

16 06 2010
Yudi Agusta

Mmm, saya tidak banyak menggunakan matlab. Umumnya setelah ekstraksi ciri, berarti data untuk proses clustering sudah didapatkan. Setelah itu tinggal memasukkan data ke proses clustering, dan menunggu hasilnya saja. Kalau di matlab, yang saya pernah tahu, ada beberapa fungsi clustering yang sudah ada, yang hanya tinggal panggil, dan memberikan parameter input, sehingga di akhir begitu dijalankan, hasilnya akan keluar.

Demikian, mudahan bisa menjawab pertanyaannya.

26 04 2010
mayuhasari

Ass…, bapak, saya sedang mengerjakan proyek tentang kmeans di matlab. Mohon diberi masukan proyek tentang apa yang co2k diselesaikan sengan kmeans

terima kasih

30 04 2010
Yudi Agusta

Wah, kalau dari sudut pandang saya apapun bisa dijadi objek penelitian dengan k-means. Customer segmentation misalnya, banyak diperlukan di perusahaan yang costumernya banyak. Dunia keuangan juga banyak memerlukan studi terkait pengelompokan berdasarkan jenis perusahaan, dll. Saya bilang sih sangat banyak sekali. Coba dilihat di sekeliling, pasti ada saja yang bisa dijadikan objek aplikasi.

Demikian dan mudahan menjawab.

22 03 2010
hertartik clarasita

trus cara menghitung perbandingan model training dan testing gimana? ada rumusnya tidak? terimakasih

30 03 2010
Yudi Agusta

Cara menghitungnya ada poin ketiga. Karena k-means hanya mempunyai karakateristik cluster dalam bentuk cluster means dan persentase anggota terhadap keseluruhan data, jadi membandingkan antar model yang ditemukan hanya bisa memanfaatkan kedua karakteristik tersebut.

Demikian semoga menjawab.

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.

22 03 2010
hertartik clarasita

pak bisa diberikan contohnya tidak? saya masih bingung dengan penjelasan di atas. terimakasih

22 03 2010
hertartik clarasita

yang langkah no 2 dan 3 itu, jumlah klasternya sama tidak?

30 03 2010
Yudi Agusta

Dibuat sama, untuk bisa membandingkan.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: