CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Créez un objet TimeSeriesSplit avec 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_index et test_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
Modifier et exécuter le code