K-fold cross-validation
Anda akan mulai dengan praktik langsung menggunakan K-fold cross-validation yang paling umum digunakan.
Data yang akan Anda gunakan berasal dari kompetisi Kaggle "Two sigma connect: rental listing inquiries". Masalah kompetisi ini adalah klasifikasi multi-kelas terhadap listing sewa ke dalam 3 kelas: minat rendah, minat sedang, dan minat tinggi. Untuk kinerja yang lebih cepat, Anda akan bekerja dengan sub-sampel yang terdiri dari 1.000 observasi.
Anda perlu menerapkan strategi validasi K-fold dan meninjau ukuran setiap fold yang diperoleh. DataFrame train sudah tersedia di workspace Anda.
Latihan ini adalah bagian dari kursus
Memenangi Kompetisi Kaggle dengan Python
Petunjuk latihan
- Buat objek
KFolddengan 3 fold. - Lakukan loop pada setiap split menggunakan objek
kf. - Untuk setiap split, pilih fold pelatihan dan pengujian menggunakan
train_indexdantest_index.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Import KFold
from sklearn.model_selection import KFold
# Create a KFold object
kf = ____(n_splits=____, shuffle=True, random_state=123)
# Loop through each split
fold = 0
for train_index, test_index in ____.____(train):
# Obtain training and testing folds
cv_train, cv_test = train.iloc[____], train.iloc[____]
print('Fold: {}'.format(fold))
print('CV train shape: {}'.format(cv_train.shape))
print('Medium interest listings in CV train: {}\n'.format(sum(cv_train.interest_level == 'medium')))
fold += 1