Pada prinsipnya:
Buat prediksi Anda menggunakan model tunggal yang dilatih pada seluruh dataset (jadi hanya ada satu set fitur). Validasi silang hanya digunakan untuk memperkirakan kinerja prediksi model tunggal yang dilatih pada seluruh dataset. Adalah VITAL dalam menggunakan validasi silang bahwa dalam setiap lipatan Anda mengulangi seluruh prosedur yang digunakan agar sesuai dengan model utama, karena jika tidak, Anda dapat berakhir dengan bias optimis yang substansial dalam kinerja.
Untuk melihat mengapa hal ini terjadi, pertimbangkan masalah klasifikasi biner dengan 1000 fitur biner tetapi hanya 100 kasus, di mana case dan fitur semuanya murni acak, sehingga tidak ada hubungan statistik antara fitur dan case sama sekali. Jika kita melatih model utama pada dataset lengkap, kita selalu dapat mencapai nol kesalahan pada set pelatihan karena ada lebih banyak fitur daripada kasus. Kami bahkan dapat menemukan subset fitur "informatif" (yang kebetulan dikorelasikan secara kebetulan). Jika kami kemudian melakukan validasi silang dengan hanya menggunakan fitur-fitur itu, kami akan mendapatkan perkiraan kinerja yang lebih baik daripada menebak secara acak. Alasannya adalah bahwa dalam setiap lipatan prosedur validasi silang ada beberapa informasi tentang kasus yang diadakan untuk pengujian karena fitur dipilih karena mereka baik untuk memprediksi, semuanya, termasuk yang diulurkan. Tentu saja tingkat kesalahan sebenarnya adalah 0,5.
Jika kami mengadopsi prosedur yang tepat, dan melakukan pemilihan fitur di setiap lipatan, tidak ada lagi informasi tentang case yang di tahan dalam pemilihan fitur yang digunakan di lipatan itu. Jika Anda menggunakan prosedur yang tepat, dalam hal ini, Anda akan mendapatkan tingkat kesalahan sekitar 0,5 (meskipun akan sedikit berbeda untuk realisasi yang berbeda dari dataset).
Makalah yang baik untuk dibaca adalah:
Christophe Ambroise, Geoffrey J. McLachlan, "Bias seleksi dalam ekstraksi gen berdasarkan data ekspresi gen microarray", PNAS http://www.pnas.org/content/99/10/6562.abstract
yang sangat relevan dengan OP dan
Gavin C. Cawley, Nicola LC Talbot, "Over-fitting dalam Seleksi Model dan Seleksi Bias Selanjutnya dalam Evaluasi Kinerja", JMLR 11 (Jul): 2079−2107, 2010 http://jmlr.csail.mit.edu/papers /v11/cawley10a.html
yang menunjukkan bahwa hal yang sama dapat dengan mudah terjadi dalam pemilihan model (misalnya menyetel hiper-parameter dari SVM, yang juga perlu diulang dalam setiap iterasi dari prosedur CV).
Dalam praktek:
Saya akan merekomendasikan menggunakan Bagging, dan menggunakan kesalahan out-of-bag untuk memperkirakan kinerja. Anda akan mendapatkan model panitia menggunakan banyak fitur, tetapi itu sebenarnya adalah hal yang baik. Jika Anda hanya menggunakan model tunggal, kemungkinan besar Anda akan memenuhi kriteria pemilihan fitur, dan berakhir dengan model yang memberikan prediksi lebih buruk daripada model yang menggunakan lebih banyak fitur.
Buku Alan Millers tentang pemilihan subset dalam regresi (Chapman dan Hall monograf tentang statistik dan probabilitas terapan, volume 95) memberikan sedikit nasihat yang baik (halaman 221) bahwa jika kinerja prediktif adalah hal yang paling penting, maka jangan lakukan pemilihan fitur apa pun. , cukup gunakan regresi ridge saja. Dan itu ada dalam sebuah buku tentang pilihan subset !!! ;Hai)