Ukuran kualitas pengelompokan

17

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 berbedakk=2NN11k. Jadi saya akan menjalankan pengelompokan dalam kisaran dan memilih yang dengan kualitas terbaik. Bagaimana cara menghitung ukuran kualitas seperti itu?k

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.(N1,1)

Maks
sumber
Bagi saya ini tidak jelas. Saya melihat kluster yang dalam kenyataannya memiliki ukuran yang berbeda sepanjang waktu ...
Anony-Mousse -Reinstate Monica

Jawaban:

12

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).

Dikran Marsupial
sumber
3
+1 untuk menyoroti perbedaan antara pengelompokan berbasis model vs pengelompokan tanpa pengawasan murni berbasis jarak.
chl
1
Saya pikir kedua tujuan memiliki penggunaan faire dalam pengaturan yang berbeda. Ada banyak konteks yang sebenarnya Anda lakukan hanya untuk melihat data yang ada (mis. Definisi outlier). Juga, sebelum dapat mencapai berbagai proses menghasilkan data, Anda perlu eksplorasi yang paling baik dilakukan dengan definisi kedua Anda ...
Etienne Low-Décarie
Saya setuju Etienne bahwa kedua metode memiliki kegunaannya. Namun saya juga akan mengatakan bahwa apakah pengamatan adalah outlier atau tidak secara implisit membuat beberapa asumsi tentang proses menghasilkan data, jadi bentuk kedua pengelompokan mungkin hanya untuk langkah pertama dalam memahami data ketika Anda mencoba untuk mengarahkan diri Anda dengan benar.
Dikran Marsupial
4

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
+! Ya; @ Max Apa maksudmu pengelompokan "jelas" ini?
@ MBb: Sebenarnya saya tidak tahu apa yang akan menjadi pengelompokan yang bagus untuk ini. Dengan "jelas" saya menyebutkan bahwa (N-1, 1) jelas bukan pengelompokan yang baik untuk ini. Pengelompokan yang lebih baik hanya akan menjadi satu klaster, jadi tidak ada pengelompokan sama sekali. Atau mungkin beberapa pengelompokan dengan jumlah cluster lebih dari 2.
Max
Tautan Anda tampaknya rusak.
Etienne Low-Décarie
Berikut tautan yang diperbarui ke artikel: gking.harvard.edu/files/abs/discov-abs.shtml
Dolan Antenucci
4

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.

mariana lebih lembut
sumber
Saya sudah mencoba menggunakan intra dalam jarak antar cluster, tetapi tidak bisa memikirkan sesuatu yang berguna untuk sebuah cluster dengan satu titik. Juga saya tidak punya titik pusat. Saya hanya memiliki jarak antar titik.
Maks
Semakin tinggi jarak antar kluster semakin baik, Anda dapat mengukurnya dengan menghitung jarak antara pusat cluster.
mariana soffer
4

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.

danas.zuokas
sumber
3

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).

denis
sumber
3

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.

rumput laut
sumber
2

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

Etienne Low-Décarie
sumber
+1, saya menyukai ide ini; Namun, pengacakan / permutasi data hanya akan memutus hubungan b / t variabel, ini tidak akan berfungsi jika ada pengelompokan dengan variabel tunggal.
gung - Reinstate Monica
1

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.

Qbik
sumber