Imaginez un étudiant qui ne réviserait que sur les questions de l'examen final : il aurait une excellente note, mais aurait-il vraiment appris ? La validation croisée (cross-validation) répond à ce problème en informatique. C'est une méthode d'évaluation qui consiste à entraîner et tester un modèle sur plusieurs découpages différents des mêmes données, afin d'estimer ses performances de façon robuste et non chanceuse.
Le principe du k-fold
La forme la plus courante est la validation croisée à k blocs (k-fold). On divise le jeu de données en $k$ parts égales appelées folds. À chaque tour, un fold sert de test et les $k-1$ autres servent d'entraînement. On répète l'opération $k$ fois, puis on moyenne les scores :
$$\text{Score}{CV} = \frac{1}{k}\sum_i$$}^{k} \text{Score
Avec $k=5$ ou $k=10$ comme valeurs typiques, chaque donnée sert ainsi tour à tour à l'entraînement et au test.
Pourquoi c'est essentiel
Une simple division train/test peut être trompeuse : un découpage chanceux gonfle artificiellement le score. La validation croisée réduit cette variance et détecte le surapprentissage (overfitting).
| Méthode | Données testées | Fiabilité |
|---|---|---|
| Train/test simple | 1 portion | Faible |
| k-fold | Toutes, $k$ fois | Élevée |
| Leave-one-out | 1 point à la fois | Très élevée, coûteuse |
Variantes utiles
- Stratifiée : conserve les proportions de classes (utile en données déséquilibrées).
- Leave-one-out : cas extrême où $k$ égale le nombre d'exemples.
- Temporelle : respecte l'ordre chronologique des séries.
La validation croisée échange un peu de temps de calcul contre beaucoup de confiance dans le résultat.