CommencezCommencez gratuitement

Validation croisée K-fold temporelle

Vous vous souvenez du « Store Item Demand Forecasting Challenge », où l'on vous donne des données de ventes par magasin et par article, et vous devez prévoir les ventes futures?

Il s'agit d'une compétition avec des séries chronologiques. Vous devez 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.

Remarquez que le DataFrame train est déjà disponible dans votre espace de travail, et que TimeSeriesSplit a été importé depuis sklearn.model_selection.

Cette activité fait partie du cours

Remporter une compétition Kaggle en Python

Voir le cours

Instructions de l’exercice

  • Créez un objet TimeSeriesSplit avec 3 volets (splits).
  • Triez les données d'entraînement par la colonne « date » pour appliquer le K-fold temporel.
  • Parcourez chaque division temporelle à l'aide de l'objet time_kfold.
  • Pour chaque division, sélectionnez les volets d'entraînement et de test en utilisant train_index et test_index.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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
Modifier et exécuter le code