Saya memiliki dua bagian dari kumpulan data multidimensi, sebut saja train
dan test
. Dan saya ingin membangun model berdasarkan pada set data kereta dan kemudian memvalidasinya pada set data uji. Jumlah cluster diketahui.
Saya mencoba menerapkan k-means clustering di R dan saya mendapatkan objek yang berisi pusat-pusat cluster:
kClust <- kmeans(train, centers=N, nstart=M)
Apakah ada fungsi dalam R yang mengambil pusat-pusat cluster yang ditemukan dan menetapkan cluster untuk set data pengujian saya?
Apa metode / algoritma lain yang dapat saya coba?
r
clustering
k-means
pengguna2598356
sumber
sumber
Jawaban:
Anda bisa menghitung penugasan cluster untuk set data baru dengan fungsi berikut:
atau Anda bisa menggunakan paket flexclust , yang memiliki
predict
metode yang diimplementasikan untuk k-means:Ada juga metode konversi untuk mengkonversi hasil dari fungsi cluster seperti
stats::kmeans
ataucluster::pam
ke objek kelaskcca
dan sebaliknya:sumber
stepFlexclust
Fungsi berjalan mengelompokkan algoritma berulang kali untuk nomor yang berbeda dari cluster dan mengembalikan minimum dalam cluster solusi jarak untuk setiap.step1: fungsi penghitungan jarak antara vektor dan setiap baris matriks
langkah 2: fungsi yang menerapkan komputer vec2mat ke setiap baris input_matrix
langkah3. terapkan fungsi mat2mat
step4. Opsional gunakan plyr :: ddply dan doMC untuk memparalelkan mat2mat untuk dataset besar
sumber