Saya memiliki dataset X yang memiliki 10 dimensi, 4 di antaranya adalah nilai diskrit. Faktanya, keempat variabel diskrit tersebut adalah ordinal, yaitu nilai yang lebih tinggi menyiratkan semantik yang lebih tinggi / lebih baik.
2 dari variabel-variabel diskrit ini bersifat kategorikal dalam arti bahwa untuk masing-masing variabel ini, jarak misal dari 11 hingga 12 tidak sama dengan jarak dari 5 hingga 6. Sementara nilai variabel yang lebih tinggi menyiratkan lebih tinggi dalam kenyataan, skalanya adalah belum tentu linear (pada kenyataannya, itu tidak benar-benar didefinisikan).
Pertanyaanku adalah:
- Apakah ide yang baik untuk menerapkan algoritma pengelompokan bersama (misalnya K-Means dan kemudian Gaussian Mixture (GMM)) ke dataset ini yang berisi variabel diskrit dan kontinu?
Jika tidak:
- Haruskah saya menghapus variabel diskrit dan hanya fokus pada variabel kontinu?
- Haruskah saya lebih baik memutuskan yang berkelanjutan dan menggunakan algoritma pengelompokan untuk data diskrit?
Jawaban:
Jadi, Anda sudah diberi tahu bahwa Anda membutuhkan ukuran jarak yang sesuai. Berikut ini beberapa petunjuk:
dan, tentu saja: jarak Mahalanobis .
sumber
Saya harus berurusan dengan masalah seperti ini di masa lalu, dan saya pikir mungkin ada 2 pendekatan yang menarik:
Continuousification: mengubah atribut simbolik dengan urutan bilangan bulat. Ada beberapa cara untuk melakukan ini, yang semuanya dijelaskan dalam makalah ini . Anda dapat mencoba algoritma NBF, VDM dan MDV.
Discretization: mentransformasikan atribut kontinu menjadi nilai simbolik. Sekali lagi, banyak algoritma, dan kuliah yang baik tentang ini akan menjadi artikel ini . Saya percaya metode yang paling umum digunakan adalah Holte's 1R, tetapi cara terbaik untuk mengetahui dengan pasti adalah dengan melihat kurva ROC terhadap algoritma seperti EWD, EFD, ID, LD atau NDD.
Setelah Anda memiliki semua fitur di ruang yang sama, itu menjadi masalah pengelompokan yang biasa.
Memilih antara kelanjutan atau diskritisasi bergantung pada dataset Anda dan seperti apa fitur Anda, jadi agak sulit untuk mengatakannya, tetapi saya menyarankan Anda untuk membaca artikel yang saya berikan kepada Anda mengenai topik itu.
sumber
K-means jelas tidak masuk akal, karena menghitung berarti (yang tidak masuk akal). Hal yang sama berlaku untuk GMM.
Anda mungkin ingin mencoba algoritma pengelompokan berbasis jarak dengan fungsi jarak yang sesuai, misalnya DBSCAN.
Tantangan utama adalah menemukan fungsi jarak!
Meskipun Anda bisa memasukkan fungsi jarak yang berbeda ke dalam k-means, ia masih akan menghitung mean yang mungkin tidak masuk akal (dan mungkin mengacaukan fungsi jarak untuk nilai-nilai diskrit).
Bagaimanapun, fokus pertama pada mendefinisikan apa "mirip" itu . Kemudian klaster menggunakan definisi yang mirip ini!
sumber
Jika Anda merasa nyaman bekerja dengan matriks ukuran jarak
num_of_samples x num_of_samples
, Anda bisa menggunakanrandom forests
, juga.Klik di sini untuk makalah referensi berjudul
Unsupervised learning with random forest predictors
.Idenya adalah membuat dataset sintetis dengan
shuffling
nilai-nilai dalam dataset asli dan melatih classifier untuk memisahkan keduanya. Selama klasifikasi Anda akan mendapatkaninter-sample distance matrix
, di mana Anda dapat menguji algoritma pengelompokan favorit Anda.sumber
Pendekatan campuran untuk diadopsi: 1) Gunakan teknik klasifikasi (C4.5 decision tree) untuk mengklasifikasikan set data menjadi 2 kelas. 2) Setelah selesai, tinggalkan variabel kategori dan lanjutkan dengan variabel kontinu untuk pengelompokan.
sumber