IniziaInizia gratis

Time K-fold

Ricordi la "Store Item Demand Forecasting Challenge", in cui ti vengono forniti i dati di vendita per negozio e articolo e devi prevedere le vendite future?

È una competizione con dati di serie temporali. Quindi, è opportuno applicare la cross-validation Time K-fold. Il tuo obiettivo è creare questa strategia di cross-validation e verificare che funzioni come previsto.

Nota che il DataFrame train è già disponibile nel tuo workspace e che TimeSeriesSplit è stato importato da sklearn.model_selection.

Questo esercizio fa parte del corso

Vincere una competizione Kaggle con Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un oggetto TimeSeriesSplit con 3 split.
  • Ordina i dati di train in base alla colonna "date" per applicare il Time K-fold.
  • Esegui un ciclo su ciascuno split temporale usando l'oggetto time_kfold.
  • Per ogni split, seleziona le fold di training e testing usando train_index e test_index.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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
Modifica ed esegui il codice