K-fold temporel
Vous vous souvenez du "Store Item Demand Forecasting Challenge", où l’on vous donne des ventes par magasin et par article, et où vous devez prédire les ventes futures ?
Il s’agit d’une compétition avec des séries temporelles. Il faut donc appliquer une validation croisée K-fold temporelle. Votre objectif est de créer cette stratégie de validation et de vérifier qu’elle fonctionne comme prévu.
Notez que le DataFrame train est déjà disponible dans votre espace de travail et que TimeSeriesSplit a été importé depuis sklearn.model_selection.
Cet exercice fait partie du cours
Gagner une compétition Kaggle en Python
Instructions
- Créez un objet
TimeSeriesSplitavec 3 splits. - Triez les données d’entraînement par la colonne "date" pour appliquer le K-fold temporel.
- Itérez sur chaque découpe temporelle à l’aide de l’objet
time_kfold. - Pour chaque split, sélectionnez les plis d’entraînement et de test en utilisant
train_indexettest_index.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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