Saya telah membaca beberapa posting tentang pemilihan fitur dan validasi silang tetapi saya masih memiliki pertanyaan tentang prosedur yang benar.
Misalkan saya memiliki dataset dengan 10 fitur dan saya ingin memilih fitur terbaik. Anggap saya menggunakan pengelompokan tetangga terdekat. Dapatkah saya melakukan pencarian lengkap menggunakan validasi silang untuk memperkirakan tingkat kesalahan sebagai panduan untuk memilih fitur terbaik? Sesuatu seperti kode pseudo berikut
for i=1:( 2^10 -1)
error(i)= crossval(1-nn, selected_fetures(i))
end
i=find(erro(i)==min(error(i));
selected_fetures= selected_features(i);
Apa yang saya coba jelaskan dalam kode semu ini adalah bahwa saya menjalankan validasi silang untuk semua kemungkinan kombinasi fitur dan memilih kombinasi yang memberikan kesalahan minimum.
Saya pikir prosedur ini benar karena saya melakukan pencarian lengkap. Pilihan fitur tidak didasarkan pada seluruh dataset, tetapi pada kesalahan rata-rata pada setiap partisi. Apakah saya overfitting model dengan pemilihan fitur seperti itu?
sumber
Saya pikir ini adalah prosedur yang valid untuk pemilihan fitur yang tidak lebih rentan terhadap overfitting daripada prosedur pemilihan fitur lainnya. Masalah dengan prosedur ini adalah bahwa ia memiliki kompleksitas komputasi yang besar dan hampir tidak dapat digunakan untuk set data nyata.
sumber
Saya pikir jika Anda melakukan pemilihan fitur di dalam setiap lipatan validasi silang Anda akan baik-baik saja. Sebagai poster di atas, Anda akan mengenakan model apa pun menggunakan fitur yang dipilih yang diperoleh dari prosedur yang diuraikan di atas. Ini karena semua data memiliki pengaruh pada pemilihan rutin fitur.
sumber