Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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