Beberapa teknik pemodelan prediktif lebih dirancang untuk menangani prediktor berkelanjutan, sementara yang lain lebih baik untuk menangani variabel kategorikal atau diskrit. Tentu saja ada teknik untuk mengubah satu jenis ke yang lain (diskritisasi, variabel dummy, dll.). Namun, apakah ada teknik pemodelan prediktif yang dirancang untuk menangani kedua jenis input pada saat yang sama tanpa hanya mengubah jenis fitur? Jika demikian, apakah teknik pemodelan ini cenderung bekerja lebih baik pada data yang lebih cocok untuk mereka?
Hal terdekat yang saya tahu adalah bahwa biasanya pohon keputusan menangani data diskrit dengan baik dan mereka menangani data terus menerus tanpa memerlukan diskritisasi di muka . Namun, ini bukan yang saya cari karena secara efektif pemisahan pada fitur yang terus-menerus hanyalah bentuk diskritisasi dinamis.
Untuk referensi, berikut adalah beberapa pertanyaan terkait, non-duplikat:
- Bagaimana seharusnya pemisahan pohon keputusan diterapkan ketika memprediksi variabel kontinu?
- Bisakah saya menggunakan regresi berganda ketika saya memiliki prediktor campuran kategoris dan berkelanjutan?
- Apakah masuk akal untuk memperlakukan data kategorikal sebagai berkelanjutan?
- Analisis data variabel kontinu dan Kategorikal
sumber
Jawaban:
Sejauh yang saya tahu, dan saya telah meneliti masalah ini secara mendalam di masa lalu, tidak ada teknik pemodelan prediktif (di samping pohon, XgBoost, dll.) Yang dirancang untuk menangani kedua jenis input pada saat yang sama tanpa hanya mengubah jenis fitur.
Perhatikan bahwa algoritma seperti Random Forest dan XGBoost menerima input fitur campuran, tetapi mereka menerapkan beberapa logika untuk menanganinya selama pemisahan node. Pastikan Anda memahami logika "di balik tenda" dan bahwa Anda setuju dengan apa pun yang terjadi di kotak hitam.
Namun, model berbasis jarak / kernel (misalnya, K-NN, regresi NN, mesin vektor dukungan) dapat digunakan untuk menangani ruang fitur tipe campuran dengan mendefinisikan fungsi jarak "khusus". Sehingga, untuk setiap fitur, menerapkan metrik jarak yang sesuai (misalnya, untuk fitur numerik kami akan menghitung jarak Euclidean dari 2 angka sedangkan untuk fitur kategorikal kami akan dengan mudah menghitung jarak tumpang tindih dari 2 nilai string). Jadi, jarak / kesamaan antara pengguna dan pada fitur , sebagai berikut: jika fitur adalah kategoris, jika fituru1 u2 fi d(u1,u2)fi=(dis−categorical(u1,u2)fi fi d(u1,u2)fi=dis−numeric(u1,u2)fi fi numerik. dan 1 jika fitur tidak didefinisikan dalam atau .fi u1 u2
Beberapa fungsi jarak yang dikenal untuk fitur-fitur kategorikal:
Jarak Levenshtien (atau segala bentuk "edit jarak")
Metrik urutan umum terpanjang
sumber
Saya tahu ini sudah lama sejak pertanyaan ini diposting, tetapi jika Anda masih melihat masalah ini (atau yang serupa) Anda mungkin ingin mempertimbangkan untuk menggunakan model aditif umum (GAM). Saya bukan ahli, tetapi model ini memungkinkan Anda untuk menggabungkan model yang berbeda untuk membuat prediksi tunggal. Proses yang digunakan untuk menemukan koefisien untuk model yang Anda masukkan sekaligus untuk semuanya, sehingga Anda dapat mengirim model aditif umum model favorit Anda untuk prediktor kategori dan model favorit Anda untuk prediktor kontinu dan mendapatkan model tunggal yang meminimalkan RSS atau kriteria kesalahan apa pun lainnya yang ingin Anda gunakan.
Dari atas kepala saya, satu-satunya paket perangkat lunak yang saya tahu memiliki implementasi GAM adalah bahasa R, tapi saya yakin ada yang lain.
sumber
Sementara diskritisasi mengubah data kontinu menjadi data diskrit, sulit dikatakan bahwa variabel dummy mengubah data kategorikal menjadi data kontinu. Memang, karena algoritma dapat dijalankan pada komputer, hampir tidak ada algoritma classificator yang TIDAK mengubah data kategorikal menjadi variabel dummy.
Dalam arti yang sama, classificator pada akhirnya mengubah prediktornya menjadi variabel diskrit yang menunjukkan kelas yang dimiliki (bahkan jika itu menghasilkan probabilitas kelas, Anda akhirnya memilih cutoff). Secara de facto banyak pengklasifikasi seperti regresi logistik, hutan acak, pohon keputusan dan SVM semuanya bekerja dengan baik dengan kedua jenis data.
Saya menduga akan sulit untuk menemukan algoritma yang bekerja dengan data kontinu tetapi tidak dapat menangani data kategorikal sama sekali. Biasanya saya cenderung menemukannya membuat lebih banyak perbedaan pada tipe data apa yang Anda miliki di sisi kiri model Anda.
sumber
Ini adalah pertanyaan filosofis yang mendalam yang biasanya ditangani dari sisi statistik dan pembelajaran mesin. Beberapa mengatakan, kategorisasi lebih baik untuk indikator diskrit ke kategorikal, sehingga paket dapat dengan mudah mencerna input model. Yang lain mengatakan, bahwa binning dapat menyebabkan kehilangan informasi, tetapi bagaimanapun variabel kategori dapat / harus dikonversi ke variabel indikator {1,0} meninggalkan kelas terakhir untuk residual model.
Buku - regresi linier Terapan (Kutner et al.) Menyebutkan tentang logika memperkenalkan variabel indikator dalam model dalam beberapa bab pertama. Mungkin ada teks serupa lainnya juga.
Pendapat saya tentang ini mungkin agak terlalu dibuat-buat: Jika kita membayangkan variabel kategori seperti blok dalam desain eksperimental, variabel indikator adalah ekstensi alami untuk analisis data berbasis non-eksperimen. Sehubungan dengan algoritma penambangan data (keluarga pohon keputusan), kategorisasi tidak dapat dihindari (baik secara manual atau otomatis-binning) yang harus dimasukkan ke model.
Oleh karena itu, mungkin tidak ada model yang dikhususkan untuk variabel numerik dan variabel dengan cara yang sama (tanpa binning-numerik atau menggunakan indikator-kategori).
sumber