Time K-fold
Weet je de "Store Item Demand Forecasting Challenge" nog, waarin je verkoopgegevens per winkel en artikel krijgt en toekomstige verkopen moet voorspellen?
Dat is een competitie met tijdreeksgegevens. Dus time K-fold cross-validatie is hier passend. Jouw doel is om deze cross-validatiestrategie te maken en te controleren of die werkt zoals verwacht.
Merk op dat de DataFrame train al in je werkruimte beschikbaar is, en dat TimeSeriesSplit is geïmporteerd uit sklearn.model_selection.
Deze oefening maakt deel uit van de cursus
Een Kaggle-competitie winnen met Python
Oefeninstructies
- Maak een
TimeSeriesSplit-object met 3 splits. - Sorteer de traingegevens op de kolom "date" om time K-fold toe te passen.
- Loop over elke tijdsplit met het object
time_kfold. - Selecteer voor elke split de training- en testfolds met
train_indexentest_index.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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