Cross-validation menggunakan sklearn
Seperti dijelaskan di Bab 2, overfitting pada himpunan data adalah masalah umum dalam analitik. Ini terjadi ketika sebuah model mempelajari data terlalu rinci: performanya sangat baik pada himpunan data tempat model dilatih, tetapi gagal melakukan generalisasi di luar itu.
Meskipun teknik train/test split yang Anda pelajari di Bab 2 memastikan model tidak melakukan overfitting pada data latih, penyetelan hyperparameter dapat menyebabkan overfitting pada komponen uji, karena proses ini menyesuaikan model agar memperoleh hasil prediksi terbaik pada data uji. Oleh karena itu, disarankan untuk memvalidasi model pada beberapa himpunan uji yang berbeda. K-fold cross-validation memungkinkan kita melakukan hal ini:
- membagi himpunan data menjadi data latih dan data uji
- melatih model, membuat prediksi, dan menghitung skor (Anda dapat menentukan apakah ingin accuracy, precision, recall, dan sebagainya)
- mengulangi proses tersebut total sebanyak k kali
- menghasilkan rata-rata dari 10 skor
Dalam latihan ini, Anda akan menggunakan Cross Validation pada himpunan data kita, dan mengevaluasi hasil dengan fungsi cross_val_score.
Latihan ini adalah bagian dari kursus
Analitik SDM: Memprediksi Perputaran Karyawan dengan Python
Petunjuk latihan
- Impor fungsi untuk menerapkan cross-validation,
cross_val_score(), dari modulsklearn.model_selection. - Cetak skor cross-validation untuk model Anda, dengan menentukan 10 lipatan melalui hyperparameter
cv.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Import the function for implementing cross validation
from sklearn.model_selection import ____
# Use that function to print the cross validation score for 10 folds
print(____(model,features,target,____=10))