Saya tahu ada algoritma pengelompokan k-means dan k-median. Satu yang menggunakan mean sebagai pusat cluster dan yang lainnya menggunakan median. Pertanyaan saya adalah: kapan / di mana menggunakannya?
Saya tahu ada algoritma pengelompokan k-means dan k-median. Satu yang menggunakan mean sebagai pusat cluster dan yang lainnya menggunakan median. Pertanyaan saya adalah: kapan / di mana menggunakannya?
Jawaban:
k-means meminimalkan varians dalam-kluster, yang sama dengan jarak Euclidean kuadrat.
Secara umum, rata - rata aritmatika melakukan ini. Itu tidak mengoptimalkan jarak, tetapi kuadrat penyimpangan dari mean.
k-median meminimalkan penyimpangan absolut, yang sama dengan jarak Manhattan.
Secara umum, median per-sumbu harus melakukan ini. Ini adalah penaksir yang bagus untuk mean, jika Anda ingin meminimalkan jumlah penyimpangan absolut (yaitu sum_i abs (x_i-y_i)), bukan yang kuadrat.
Ini bukan pertanyaan tentang akurasi. Ini pertanyaan tentang kebenaran. ;-)
Jadi, inilah pohon keputusan Anda:
Beberapa pengecualian: sejauh yang saya tahu, memaksimalkan persamaan cosinus terkait dengan meminimalkan jarak Euclidean kuadrat pada data yang dinormalkan L2. Jadi jika data Anda L2 dinormalisasi; dan Anda l2-menormalkan berarti Anda setiap iterasi, maka Anda dapat menggunakan k-means lagi.
Jika Anda ingin membuat analisis bukan tentang kemungkinan dampak dari nilai ekstrem gunakan k berarti tetapi jika Anda ingin menjadi lebih akurat gunakan k median