Time K-fold
Ingat kembali "Store Item Demand Forecasting Challenge" di mana Anda diberikan data penjualan per toko dan item, lalu harus memprediksi penjualan di masa depan?
Ini adalah kompetisi dengan data deret waktu. Jadi, time K-fold cross-validation harus diterapkan. Tujuan Anda adalah membuat strategi cross-validation ini dan memastikan bahwa strategi tersebut berjalan sebagaimana mestinya.
Perhatikan bahwa DataFrame train sudah tersedia di workspace Anda, dan TimeSeriesSplit telah diimpor dari sklearn.model_selection.
Latihan ini adalah bagian dari kursus
Memenangi Kompetisi Kaggle dengan Python
Petunjuk latihan
- Buat objek
TimeSeriesSplitdengan 3 split. - Urutkan data train berdasarkan kolom "date" untuk menerapkan time K-fold.
- Lakukan loop pada setiap split waktu menggunakan objek
time_kfold. - Untuk setiap split, pilih fold pelatihan dan pengujian menggunakan
train_indexdantest_index.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create TimeSeriesSplit object
time_kfold = TimeSeriesSplit(n_splits=____)
# Sort train data by date
train = train.sort_values(____)
# Iterate through each split
fold = 0
for train_index, test_index in ____.____(____):
cv_train, cv_test = ____.____[____], ____.____[____]
print('Fold :', fold)
print('Train date range: from {} to {}'.format(cv_train.date.min(), cv_train.date.max()))
print('Test date range: from {} to {}\n'.format(cv_test.date.min(), cv_test.date.max()))
fold += 1