Time K-Fold
Erinnerst du dich an die "Store Item Demand Forecasting Challenge", bei der du Verkaufsdaten von Filialen und Artikeln bekommst und zukünftige Verkäufe vorhersagen sollst?
Das ist eine Competition mit Zeitreihendaten. Daher sollte Time K-Fold Cross-Validation angewendet werden. Dein Ziel ist es, diese Validierungsstrategie zu erstellen und sicherzustellen, dass sie wie erwartet funktioniert.
Beachte, dass der DataFrame train bereits in deiner Arbeitsumgebung verfügbar ist und TimeSeriesSplit aus sklearn.model_selection importiert wurde.
Diese Übung ist Teil des Kurses
Eine Kaggle-Competition in Python gewinnen
Anleitung zur Übung
- Erstelle ein
TimeSeriesSplit-Objekt mit 3 Splits. - Sortiere die Trainingsdaten nach der Spalte "date", um Time K-Fold anzuwenden.
- Iteriere über jeden Zeitsplit mit dem Objekt
time_kfold. - Wähle für jeden Split die Trainings- und Test-Folds mithilfe von
train_indexundtest_indexaus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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