Statistik cross-validation
Anda menggunakan grid search CV untuk menyetel classifier random forest, dan sekarang ingin meninjau hasil cross-validation untuk memastikan Anda tidak overfit. Secara khusus, Anda ingin mengambil selisih antara skor uji rata-rata untuk setiap lipatan dari skor latih rata-rata. Himpunan data tersedia sebagai X_train dan y_train, pipeline sebagai pipe, dan sejumlah modul telah dimuat sebelumnya termasuk pandas sebagai pd dan GridSearchCV().
Latihan ini adalah bagian dari kursus
Merancang Alur Kerja Machine Learning di Python
Petunjuk latihan
- Buat objek grid search dengan tiga lipatan cross-validation dan pastikan objek tersebut mengembalikan statistik pelatihan serta pengujian.
- Pasangkan objek grid search ke data pelatihan.
- Simpan hasil cross-validation, yang tersedia pada atribut
cv_results_dari objek CV yang sudah dipasangkan, ke dalam sebuah dataframe. - Cetak selisih antara kolom yang berisi skor uji rata-rata dan kolom yang berisi skor latih rata-rata.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Fit your pipeline using GridSearchCV with three folds
grid_search = GridSearchCV(
pipe, params, ____=3, return_train_score=____)
# Fit the grid search
gs = grid_search.____(____, ____)
# Store the results of CV into a pandas dataframe
results = pd.____(gs.____)
# Print the difference between mean test and training scores
print(
results[____]-results['mean_train_score'])