Bắt đầu ngayBắt đầu miễn phí

Time K-fold

Nhớ lại bài "Store Item Demand Forecasting Challenge" nơi bạn được cung cấp dữ liệu doanh số theo cửa hàng-mặt hàng và cần dự đoán doanh số tương lai?

Đây là một cuộc thi với dữ liệu chuỗi thời gian. Vì vậy, cần áp dụng phương pháp cross-validation theo thời gian (time K-fold). Mục tiêu của bạn là tạo chiến lược cross-validation này và kiểm tra rằng nó hoạt động đúng như mong đợi.

Lưu ý: DataFrame train đã có sẵn trong môi trường làm việc của bạn, và TimeSeriesSplit đã được import từ sklearn.model_selection.

Bài tập này là một phần của khóa học

Chinh phục cuộc thi Kaggle bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Tạo một đối tượng TimeSeriesSplit với 3 splits.
  • Sắp xếp dữ liệu train theo cột "date" để áp dụng time K-fold.
  • Lặp qua từng lần chia theo thời gian bằng đối tượng time_kfold.
  • Với mỗi lần chia, chọn các fold huấn luyện và kiểm tra bằng train_indextest_index.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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
Chỉnh sửa và Chạy Mã