MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Buat objek TimeSeriesSplit dengan 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_index dan test_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
Edit dan Jalankan Kode