Часовий K-fold
Пам'ятаєте «Store Item Demand Forecasting Challenge», де вам надано дані про продажі товарів у магазинах, і потрібно передбачити майбутні продажі?
Це змагання з часовими рядами. Тому слід застосувати перехресну перевірку за схемою time K-fold. Ваше завдання — створити цю стратегію перехресної перевірки та переконатися, що вона працює як очікується.
Зверніть увагу, що датафрейм train уже доступний у вашому робочому середовищі, а TimeSeriesSplit імпортовано з sklearn.model_selection.
Ця вправа є частиною курсу
Як перемагати в змаганнях Kaggle за допомогою Python
Інструкції до вправи
- Створіть об'єкт
TimeSeriesSplitіз 3 розбиттями. - Відсортуйте тренувальні дані за стовпцем "date", щоб застосувати time 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