Retour au Blog
Machine Learning 15 décembre 2024 5 min de lecture

Stratégies de validation croisée : laquelle utiliser et quand

K-Fold, Stratifié, GroupKFold, TimeSeriesSplit — guide pratique pour choisir la bonne stratégie CV.

Arbre de décision

  1. Données de séries temporelles ? → TimeSeriesSplit (ne mélangez jamais le temps !)
  2. Des groupes qui doivent rester ensemble ? → GroupKFold
  3. Classes déséquilibrées ? → StratifiedKFold
  4. Tabulaire par défaut → StratifiedKFold à 5 plis

Exemple TimeSeriesSplit

from sklearn.model_selection import TimeSeriesSplit
tscv = TimeSeriesSplit(n_splits=5)
for train_idx, val_idx in tscv.split(X):
    X_train, X_val = X.iloc[train_idx], X.iloc[val_idx]

GroupKFold : éviter la fuite

Si vous avez des IDs utilisateur, patient ou magasin — utilisez toujours GroupKFold pour qu'une même entité n'apparaisse jamais à la fois en entraînement et en validation.

Cross-ValidationModel EvaluationTime SeriesKaggleBest Practices
O

Ossama Elhakki

Ingénieur IA & Systèmes ML — Maroc