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
<Kurs>Eine Kaggle-Competition in Python gewinnen</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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