Time K-fold
Îți amintești de competiția „Store Item Demand Forecasting Challenge", în care primești date despre vânzările din magazine și trebuie să prezici vânzările viitoare?
Este o competiție cu date de tip serie de timp. Prin urmare, trebuie aplicată validarea încrucișată Time K-fold. Scopul tău este să creezi această strategie de validare încrucișată și să te asiguri că funcționează corect.
Reține că DataFrame-ul train este deja disponibil în spațiul tău de lucru și că TimeSeriesSplit a fost importat din sklearn.model_selection.
Acest exercițiu face parte din cursul
Câștigarea unei competiții Kaggle în Python
Instrucțiuni pentru exercițiu
- Creează un obiect
TimeSeriesSplitcu 3 diviziuni. - Sortează datele de antrenament după coloana „date" pentru a aplica Time K-fold.
- Parcurge fiecare diviziune temporală folosind obiectul
time_kfold. - Pentru fiecare diviziune, selectează fold-urile de antrenament și testare folosind
train_indexșitest_index.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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