Saya memiliki algoritma clustering (bukan k-means) dengan input parameter (jumlah cluster). Setelah melakukan pengelompokan, saya ingin mendapatkan ukuran kuantitatif kualitas pengelompokan ini. Algoritma pengelompokan memiliki satu properti penting. Untuk k = 2 jika saya memberi makan titik data N tanpa perbedaan yang signifikan di antara mereka dengan algoritma ini sebagai hasilnya saya akan mendapatkan satu kluster yang berisi titik data N - 1 dan satu kluster dengan 1 titik data. Jelas ini bukan yang saya inginkan. Jadi saya ingin menghitung ukuran kualitas ini untuk memperkirakan kewajaran dari pengelompokan ini. Idealnya saya akan dapat membandingkan ukuran ini untuk k yang berbeda. Jadi saya akan menjalankan pengelompokan dalam kisaran dan memilih yang dengan kualitas terbaik. Bagaimana cara menghitung ukuran kualitas seperti itu?
MEMPERBARUI:
Berikut ini contoh ketika adalah pengelompokan yang buruk. Katakanlah ada 3 titik pada bidang yang membentuk segitiga sama sisi. Membagi titik-titik ini menjadi 2 kelompok jelas lebih buruk daripada membaginya menjadi 1 atau 3 kelompok.
sumber
Jawaban:
Pilihan metrik tergantung pada apa yang Anda anggap sebagai tujuan pengelompokan. Secara pribadi saya pikir pengelompokan seharusnya tentang mengidentifikasi kelompok pengamatan yang berbeda yang masing-masing dihasilkan oleh proses menghasilkan data yang berbeda. Jadi saya akan menguji kualitas pengelompokan dengan menghasilkan data dari proses menghasilkan data yang diketahui dan kemudian menghitung seberapa sering pola salah klasifikasi oleh pengelompokan. Tentu saja ini melibatkan membuat asumsi tentang distribusi pola dari setiap proses pembuatan, tetapi Anda dapat menggunakan dataset yang dirancang untuk klasifikasi terawasi.
Orang lain melihat pengelompokan sebagai upaya untuk mengelompokkan poin-poin dengan nilai atribut yang sama, di mana tindakan kasus seperti SSE dll berlaku. Namun saya menemukan definisi pengelompokan ini agak tidak memuaskan, karena hanya memberi tahu Anda sesuatu tentang sampel data tertentu, daripada sesuatu yang bersifat umum tentang distribusi yang mendasarinya. Bagaimana metode menangani tumpang tindih cluster adalah masalah khusus dengan tampilan ini (untuk tampilan "proses pembuatan data" itu menyebabkan tidak ada masalah nyata, Anda hanya mendapatkan probabilitas keanggotaan cluster).
sumber
Karena pengelompokan tanpa pengawasan, sulit untuk mengetahui apriori apa pengelompokan terbaik. Ini adalah topik penelitian. Gary King, seorang ilmuwan sosial kuantitatif terkenal, memiliki artikel yang akan datang tentang topik ini.
sumber
Di sini Anda memiliki beberapa langkah, tetapi ada banyak langkah lain:
SSE: jumlah kesalahan kuadrat dari item masing-masing cluster.
Inter cluster distance: jumlah jarak kuadrat antara masing-masing centroid cluster.
Intra cluster distance untuk setiap cluster: jumlah jarak kuadrat dari item masing-masing cluster ke centroid-nya.
Radius Maksimum: jarak terbesar dari instance ke cluster centroid-nya.
Radius Rata-Rata: jumlah jarak terbesar dari sebuah instance ke cluster centroid dibagi dengan jumlah cluster.
sumber
Anda berlari ke area Validasi Clustering. Siswa saya melakukan validasi menggunakan teknik yang dijelaskan dalam:
A. Banerjee dan RN Dave. Memvalidasi cluster menggunakan statistik hopkins. 2004 Konferensi Internasional IEEE tentang Sistem Fuzzy IEEE Cat No04CH37542, 1: p. 149–153, 2004.
Ini didasarkan pada prinsip, bahwa jika sebuah cluster valid maka titik data terdistribusi secara merata dalam sebuah cluster.
Tetapi sebelum itu Anda harus menentukan apakah data Anda memiliki apa yang disebut Clustering Tendency yaitu apakah layak clustering dan jumlah cluster optimal:
S. Saitta, B. Raphael, dan IFC Smith. Indeks validitas komprehensif untuk pengelompokan. Intell. Data Anal., 12 (6): p. 529–548, 2008.
sumber
Seperti yang telah ditunjukkan orang lain, ada banyak ukuran pengelompokan "kualitas"; sebagian besar program meminimalkan SSE. Tidak ada angka tunggal yang dapat mengatakan banyak tentang noise dalam data, atau noise dalam metode, atau minimum minimum - titik rendah di Saskatchewan.
Jadi pertama-tama cobalah untuk memvisualisasikan, merasakan, pengelompokan yang diberikan, sebelum menguranginya menjadi "41". Kemudian buat 3 kali: apakah Anda mendapatkan SSE 41, 39, 43 atau 41, 28, 107? Berapa ukuran dan radius cluster?
(Ditambahkan :) Lihatlah plot siluet dan skor siluet, misalnya dalam buku karya Izenman, Teknik Statistik Multivariat Modern (2008, 731p, isbn 0387781889).
sumber
The Silhouette dapat digunakan untuk mengevaluasi hasil clustering. Itu melakukannya dengan membandingkan jarak rata-rata dalam sebuah cluster dengan jarak rata-rata ke titik-titik di cluster terdekat.
sumber
Metode seperti yang digunakan dalam hutan acak tanpa pengawasan dapat digunakan.
Algoritma Hutan Acak memperlakukan klasifikasi tanpa pengawasan sebagai masalah dua kelas, jika set data buatan dan acak yang berbeda dibuat dari set data pertama dengan menghapus struktur ketergantungan dalam data (pengacakan).
Anda kemudian dapat membuat set data buatan dan acak seperti itu, menerapkan model pengelompokan Anda dan membandingkan Anda metrik pilihan (mis. SSE) dalam data Anda yang sebenarnya dan data acak Anda.
Pencampuran dalam pengacakan, permutasi, bootstrap, bagging, dan / atau jacknifing dapat memberi Anda ukuran yang mirip dengan nilai P dengan mengukur berapa kali model pengelompokan yang diberikan memberi Anda nilai yang lebih kecil untuk data sejati Anda daripada data acak menggunakan metrik dari pilihan (mis. SSE, atau prediksi kesalahan keluar dari kantong).
Metrik Anda karenanya berbeda (probabilitas, perbedaan ukuran, ...) dalam setiap metrik pilihan antara data benar dan acak.
Iterasi ini untuk banyak model akan memungkinkan Anda untuk membedakan antara model.
Ini dapat diimplementasikan dalam R.
randomforest tersedia di R
sumber
Jika algoritma pengelompokan tidak deterministik, maka cobalah untuk mengukur "stabilitas" pengelompokan - cari tahu seberapa sering masing-masing dua pengamatan milik cluster yang sama. Itu umumnya metode yang menarik, berguna untuk memilih k dalam algoritma kmeans.
sumber