Validasi Silang di StackingClassifier Scikit-Learn
Dalam Scikit-Pelajari StackingClassifier
dokumentasi itu ditulis:
Catatan yang
estimators_
dipasang secara penuhX
saatfinal_estimator_
dilatih menggunakan prediksi yang divalidasi silang dari penduga dasar menggunakancross_val_predict
.
... validasi silang 5 kali lipat default
Pertanyaan saya, mengapa menggunakan validasi silang 5 kali lipat hanya pada estimator akhir? mengapa penduga akhir tidak dipasang pada X penuh '(keluaran dari penduga dasar)?
Jawaban
Ini termasuk 2 pertanyaan, saya akan membahasnya masing-masing.
- Kita bisa menggunakan validasi silang di seluruh sistem, tapi itu akan sangat melemahkan kita.
Tujuan dari validasi silang adalah untuk menemukan parameter yang optimal, yang memungkinkan model untuk menyesuaikan data dengan baik tanpa over-fitting. Estimator akhir kita yang melakukan ini sudah cukup; tidak perlu mencari tahu sendiri pengaturan dari semua penduga dasar. Estimator dasar dapat mencakup sekumpulan pengaturan parameter yang berbeda, misalnya; serta pilihan jenis pengklasifikasi yang berbeda. Jika salah satu dari mereka cenderung overfitting, ini harus diimbangi oleh orang lain yang tidak mengalami masalah itu. Selama estimator akhir tidak meletakkan semua telurnya di keranjang yang salah, kita akan baik-baik saja (dan inilah mengapa kita membutuhkan validasi silang di sini, untuk memastikan hal ini tidak terjadi).
- Kita akan melatih estimator akhir pada set pelatihan lengkap - ini terjadi setelah kita menemukan parameter optimal atau set estimator dasar menggunakan validasi silang. Seperti namanya, validasi silang dimaksudkan untuk memvalidasi metode. Bukan untuk membuat model akhir.