Saya perlu mengelompokkan unit ke dalam cluster untuk meminimalkan sum-kuadrat dalam-grup (WSS), tetapi saya perlu memastikan bahwa masing-masing cluster mengandung setidaknya unit. Adakah yang tahu jika ada salah satu fungsi pengelompokan R yang memungkinkan pengelompokan ke dalam cluster tunduk pada batasan ukuran cluster minimum? kmeans () tampaknya tidak menawarkan opsi batasan ukuran.m k
sumber
Masalah ini dibahas dalam makalah ini:
Bradley, PS, KP Bennett, dan Ayhan Demiriz. "K-means terkelompok." Microsoft Research, Redmond (2000) : 1-8.
Saya memiliki implementasi algoritma dalam python.
sumber
rPython
paket dalam R untuk membuat antarmuka untuk implementasi ini yang saya akses dari script R.Saya pikir itu hanya akan menjadi masalah menjalankan k berarti sebagai bagian dari jika loop dengan tes untuk ukuran cluster, Ie Hitung n di cluster k - juga ingat bahwa k berarti akan memberikan hasil yang berbeda untuk masing-masing berjalan pada data yang sama sehingga Anda mungkin harus menjalankannya sebagai bagian dari loop untuk mengekstrak hasil "terbaik"
sumber
Seberapa besar kumpulan data Anda? Mungkin Anda bisa mencoba menjalankan pengelompokan hierarkis dan kemudian memutuskan kelompok mana yang dipertahankan berdasarkan dendrogram Anda.
Jika kumpulan data Anda sangat besar, Anda juga bisa menggabungkan kedua metode pengelompokan: pengelompokan non-hierarkis awal dan kemudian pengelompokan hierarkis menggunakan grup dari analisis non-hierarkis. Anda dapat menemukan contoh dari pendekatan ini dalam Martínez-Pastor et al (2005)
sumber
Ini dapat dicapai dengan memodifikasi langkah penugasan gugus (E dalam EM) dengan merumuskannya sebagai masalah optimisasi jaringan linear Aliran Biaya Minimum (MCF).
Saya telah menulis paket python yang menggunakan SimpleMinCostFlow dari Google Research Operations Research tools yang merupakan implementasi C ++ yang cepat. Ini memiliki standar API scikit-lean.
sumber