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
Istruzioni dell'esercizio
- Crea un oggetto
TimeSeriesSplitcon 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_indexetest_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