Aan de slagGa gratis aan de slag

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

Cursus bekijken

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_index en test_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
Code bewerken en uitvoeren