Временной 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