Time K-fold
Vzpomínáš na soutěž „Store Item Demand Forecasting Challenge", kde dostaneš data o prodejích v obchodech a máš za úkol předpovědět budoucí tržby?
Jde o soutěž s časovými řadami, takže je vhodné použít křížovou validaci time K-fold. Tvým cílem je tuto strategii křížové validace vytvořit a ověřit, že funguje správně.
DataFrame train je v tvém prostředí už k dispozici a TimeSeriesSplit byl naimportován z sklearn.model_selection.
Toto cvičení je součástí kurzu
Jak vyhrát soutěž na Kaggle v Pythonu
Pokyny k cvičení
- Vytvoř objekt
TimeSeriesSplitse 3 rozděleními. - Seřaď trénovací data podle sloupce "date", aby bylo možné aplikovat time K-fold.
- Projdi každé časové rozdělení pomocí objektu
time_kfold. - Pro každé rozdělení vyber trénovací a testovací část dat pomocí
train_indexatest_index.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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