Algoritma pembelajaran mesin untuk menangani data yang hilang

25

Saya mencoba mengembangkan model prediksi menggunakan data klinis dimensi tinggi termasuk nilai-nilai laboratorium. Ruang data jarang dengan sampel 5k dan 200 variabel. Idenya adalah untuk memberi peringkat variabel menggunakan metode pemilihan fitur (IG, RF dll) dan menggunakan fitur peringkat teratas untuk mengembangkan model prediksi.

Sementara pemilihan fitur berjalan baik dengan pendekatan Naïve Bayes, saya sekarang menghadapi masalah dalam menerapkan model prediktif karena data yang hilang (NA) di ruang variabel saya. Apakah ada algoritma pembelajaran mesin yang dapat dengan hati-hati menangani sampel dengan data yang hilang?

Khader Shameer
sumber
1
Keberadaan jawaban terangkat menyiratkan kepada saya bahwa pertanyaan ini tidak terlalu luas untuk dijawab. Saya memberikan suara untuk tetap terbuka.
gung - Reinstate Monica

Jawaban:

15

Itu tergantung pada model yang Anda gunakan. Jika Anda menggunakan beberapa model generatif, maka ada cara berprinsip untuk menangani nilai yang hilang (). Misalnya dalam model seperti Naive Bayes atau Gaussian Processes Anda akan mengintegrasikan variabel yang hilang, dan memilih opsi terbaik dengan variabel yang tersisa.

Untuk model-model diskriminatif itu lebih rumit, karena itu tidak mungkin. Ada sejumlah pendekatan. Gharamani dan Jordan menggambarkan pendekatan berprinsip, di mana nilai-nilai yang hilang diperlakukan seperti variabel tersembunyi, dan varian dari algoritma EM digunakan untuk memperkirakannya. Dengan cara yang sama, Smola et al. menjelaskan varian dari algoritma SVM yang secara eksplisit menangani masalah.

Perhatikan bahwa sering disarankan untuk mengganti nilai yang hilang dengan nilai rata-rata variabel. Ini bermasalah, seperti yang dijelaskan dalam makalah pertama. Kadang-kadang, saya menemukan makalah yang melakukan regresi pada variabel untuk memperkirakan nilai yang hilang, tetapi saya tidak bisa mengatakan apakah itu berlaku untuk kasus Anda.

jpmuc
sumber
2
sering direkomendasikan untuk mengganti nilai yang hilang dengan nilai rata-rata variabel . Bisakah Anda menunjuk ke sumbernya?
Sergey Bushmanov
1
@juampa Mengapa Anda mengklaim tidak mungkin mengintegrasikan variabel yang hilang dalam model diskriminatif? Kami melakukan ini untuk regresi logistik sepanjang waktu. Bahkan, dapat ditunjukkan sama dengan beberapa imputasi.
AdamO
1
@SergeyBushmanov Saya bersamamu dalam kebingungan Anda di sini. Hal ini tidak sering dianjurkan untuk menggunakan (tunggal) berarti imputasi karena menyebabkan bias dalam beberapa kasus dan metrik validasi anticonservative dalam kasus lain.
AdamO
2

Coba imputasi menggunakan tetangga terdekat untuk menghilangkan data yang hilang.

Selain itu, paket Caret memiliki antarmuka ke berbagai algoritma dan semuanya datang dengan metode prediksi dalam R yang dapat digunakan untuk memprediksi data baru. Metrik kinerja juga dapat diperkirakan menggunakan validasi k-fold cross menggunakan paket yang sama.

Ankur Chakravarthy
sumber
2

Ada juga algoritma yang dapat menggunakan nilai yang hilang sebagai nilai unik dan berbeda ketika membangun model prediktif, seperti pohon klasifikasi dan regresi. seperti xgboost

Ajay
sumber