Validasi Silang di StackingClassifier Scikit-Learn

Aug 20 2020

Dalam Scikit-Pelajari StackingClassifier dokumentasi itu ditulis:

Catatan yang estimators_dipasang secara penuh Xsaat final_estimator_dilatih menggunakan prediksi yang divalidasi silang dari penduga dasar menggunakan cross_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

1 RobbytheBelgian Aug 26 2020 at 13:03

Ini termasuk 2 pertanyaan, saya akan membahasnya masing-masing.

  1. 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).

  1. 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.