K-Fold Cross-Validation : La méthode fiable
Comment être sûr que votre modèle
fonctionne vraiment bien ?
Pourquoi une seule division ne suffit pas
Avec une seule division Train/Test, vous pouvez avoir de la chance ou de la malchance
Les données test sont faciles
Score : 92%
Vous pensez avoir un excellent modèle... mais est-ce vrai ?
Les données test sont difficiles
Score : 68%
Vous pensez avoir un mauvais modèle... mais peut-être pas !
Tester sur plusieurs divisions
Au lieu de diviser une seule fois,
diviser K fois différemment
et faire la moyenne des performances
Exemple visuel avec K=5
Les données sont divisées en 5 parties égales (folds).
Chaque partie sert de test une fois, les autres servent d'entraînement.
Validation croisée en action
Dataset : 1000 maisons à Casablanca
Objectif : Prédire les prix
Score final = 85% ± 1.5%
Processus complet
Pour éviter les biais d'ordre
K = 5 ou K = 10 généralement
Moyenne = performance attendue
Écart-type = stabilité du modèle
Implémentation simple
Quelle différence ?
| Critère | Train/Test Simple | Validation Croisée |
|---|---|---|
| Fiabilité | ✗ Dépend de la chance | ✓ Très fiable |
| Utilisation des données | ✗ 20-30% perdus pour test | ✓ 100% utilisées |
| Temps de calcul | ✓ Rapide (1 entraînement) | ✗ Plus lent (K entraînements) |
| Détection overfitting | ✗ Moins précis | ✓ Très précis |
| Estimation de variance | ✗ Impossible | ✓ Écart-type disponible |
Le compromis biais-variance
👎 Trop petit
👍 Recommandé
⚠️ Extrême
💡 Conseil pratique :
K=5 pour datasets moyens (1000-10000)
K=10 pour grands datasets (>10000)
L'écart-type révèle tout
✓ Scores stables
✓ Modèle robuste
✓ Pas d'overfitting
✗ Scores instables
✗ Modèle fragile
✗ Overfitting probable
Les pièges classiques
Si vos données sont ordonnées (par date, par catégorie...), les folds seront biaisés
✅ Solution : Toujours utiliser shuffle=True
Normaliser ou standardiser avant de faire les folds crée du data leakage
✅ Solution : Preprocessing dans chaque fold séparément
Si vous optimisez sur les scores CV, vous faites de l'overfitting sur CV !
✅ Solution : Garder un test set final séparé
Ce qu'il faut retenir
Formule magique :
Score CV = Moyenne ± Écart-type