НачатьНачать бесплатно

Временной K-fold

Помните соревнование «Store Item Demand Forecasting Challenge», в котором нужно предсказать будущие продажи на основе исторических данных по магазинам и товарам?

Это соревнование с данными временных рядов, поэтому здесь следует применять временную кросс-валидацию K-fold. Ваша задача — создать такую стратегию кросс-валидации и убедиться, что она работает корректно.

Обратите внимание: DataFrame train уже доступен в вашем рабочем пространстве, а TimeSeriesSplit импортирован из sklearn.model_selection.

Это упражнение является частью курса

Победа в соревновании Kaggle на Python

Посмотреть курс

Инструкции к упражнению

  • Создайте объект TimeSeriesSplit с 3 разбиениями.
  • Отсортируйте обучающие данные по столбцу "date", чтобы применить временной K-fold.
  • Выполните итерацию по каждому разбиению, используя объект time_kfold.
  • Для каждого разбиения выберите обучающую и тестовую части с помощью train_index и test_index.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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
Редактировать и запускать код