Saya bertanya-tanya apakah mungkin untuk melakukan dalam R clustering data yang memiliki variabel data campuran. Dengan kata lain saya memiliki satu set data yang berisi variabel numerik dan kategoris di dalamnya dan saya menemukan cara terbaik untuk mengelompokkannya. Dalam SPSS saya akan menggunakan klaster dua langkah. Saya bertanya-tanya apakah dalam R dapatkah saya menemukan teknik yang serupa. Saya diberitahu tentang paket poLCA, tapi saya tidak yakin ...
r
clustering
mixed-type-data
Giorgio Spedicato
sumber
sumber
Jawaban:
Ini mungkin datang terlambat tetapi coba klaR ( http://cran.r-project.org/web/packages/klaR/index.html )
Ia menggunakan algoritma k-mode non-hirarkis, yang didasarkan pada pencocokan sederhana sebagai fungsi jarak, sehingga jarak δ antara variabel m dari dua titik data dan y diberikan olehx y
Ada cacat dengan paket, yaitu jika dua titik data memiliki jarak yang sama ke pusat-cluster, yang pertama dalam data Anda dipilih sebagai lawan dari titik acak, tetapi Anda dapat dengan mudah memodifikasi bit dalam kode.
Untuk mengakomodasi pengelompokan variabel campuran, Anda harus masuk ke kode dan memodifikasi fungsi jarak untuk mengidentifikasi mode dan variabel numerik dan non-numerik.
sumber
Cara lain yang menarik untuk menangani variabel tipe campuran adalah dengan menggunakan proximy / similarity matrix dari Random Forests: http://cogns.northwestern.edu/cbmg/LiawAndWiener2002.pdf . Ini memfasilitasi cara terpadu untuk secara adil memperlakukan semua variabel (namun, waspadai masalah bias pemilihan variabel). Di sisi lain, sebenarnya tidak ada cara universal untuk menentukan jarak untuk variabel tipe campuran. Itu semua tergantung pada konteks aplikasi.
sumber
Anda mungkin menggunakan beberapa analisis korespondensi untuk membuat dimensi kontinu dari variabel kategori dan kemudian menggunakannya dengan variabel numerik di langkah kedua.
sumber
Yah, kamu pasti bisa. Dengan membuat variabel kategorikal angka artifisial. Atau menggunakan pengelompokan berbasis jarak-matriks (fpc mungkin bisa melakukan itu). Pertanyaan pertama yang harus Anda coba jawab adalah: apakah itu masuk akal?
sumber
variabel biner: 1 untuk konkordansi, 0 untuk diskordansi (setara dengan koefisien Jaccard jikawi,j,k
karakter multistat (nominal atau ordinal): 1 untuk kesetaraan, 0 lainnya (setara dengan koefisien kecocokan sederhana)
sumber
Jika nilai yang mungkin dari variabel kategori tidak terlalu banyak, maka Anda mungkin berpikir untuk membuat variabel biner dari nilai-nilai itu. Anda bisa memperlakukan variabel biner ini sebagai variabel numerik dan menjalankan pengelompokan Anda. Itulah yang saya lakukan untuk proyek saya.
sumber
pengelompokan k-prototypes mungkin lebih cocok di sini. Ini menggabungkan k-mode dan k-means dan mampu mengelompokkan data numerik / kategorikal campuran. Untuk R, gunakan Paket 'clustMixType'.
https://cran.r-project.org/web/packages/clustMixType/clustMixType.pdf
sumber
VarSelLCM
penawaran paketPada CRAN , dan dijelaskan lebih dalam kertas .
Keuntungan dari beberapa metode sebelumnya adalah ia menawarkan beberapa bantuan dalam pemilihan jumlah cluster dan menangani data yang hilang. Aplikasi bagus mengkilap yang disediakan juga tidak disukai.
sumber