Mengelompokkan dataset dengan variabel diskrit dan kontinu

33

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?
ptikobj
sumber
3
Anda perlu menemukan pengukur jarak yang baik (seringkali tugas yang paling sulit dalam pengelompokan): jika Anda dapat menemukan pengukur jarak yang dengan benar dan akurat menggambarkan seberapa mirip (atau tidak) item data Anda, maka Anda seharusnya tidak memiliki masalah.
Andrew
Berbicara tentang 2 variabel kategori yang Anda gambarkan sebagai variabel ordinal. Sekarang, bagaimana dengan 2 variabel "ordinal" lainnya? Bagaimana mereka berbeda dari mereka?
ttnphns
Mereka juga diskrit, tetapi keduanya memiliki fungsi jarak yang bermakna, yaitu mereka berbasis interval (jika saya tidak mengacaukan definisi berbasis interval).
ptikobj

Jawaban:

7

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.

Charles Menguy
sumber
4

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!

Anony-Mousse
sumber
2

Jika Anda merasa nyaman bekerja dengan matriks ukuran jarak num_of_samples x num_of_samples, Anda bisa menggunakan random forests, juga.

Klik di sini untuk makalah referensi berjudul Unsupervised learning with random forest predictors.

Idenya adalah membuat dataset sintetis dengan shufflingnilai-nilai dalam dataset asli dan melatih classifier untuk memisahkan keduanya. Selama klasifikasi Anda akan mendapatkan inter-sample distance matrix, di mana Anda dapat menguji algoritma pengelompokan favorit Anda.

srctaha
sumber
-2

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.

Swapnil Soni
sumber
Saya tidak bisa mengikuti saran Anda. Dua kelas mana, dan bagaimana hal itu akan membantu?
KarthikS
Saya pikir apa yang perlu Swapnil Soni katakan adalah bahwa sekali kita menggunakan teknik klasifikasi untuk mengklasifikasikannya menjadi dua kelas. Kita kemudian dapat menggunakan label hasil klasifikasi sebagai variabel biner. Jadi alih-alih semua variabel kategori Anda mendapatkan variabel biner indikatif dan kemudian algoritma clustering Anda dapat melanjutkan dengan data (terdiri dari semua variabel biner kontinu ditambah 1). Penafsiran saya bisa salah.
Tusharshar
sangat baik!
Swapnil Soni