Einfach erklärt
Cross‑Validation (CV) prüft, wie gut ein Modell bei neuen, unbekannten Daten wäre. Dazu teilt man die vorhandenen Daten in mehrere Teile (Falten). Mehrfach wird trainiert (auf einigen Teilen) und getestet (auf den übrigen). Am Ende mittelt man die Ergebnisse. So bekommt man eine fairere Schätzung als mit nur einem einzigen Train‑/Test‑Split.
Kurz: Mehrfach trainieren & testen auf wechselnden Stücken → stabilere Bewertung.
Ganz einfache Beispiele (mit Alltagsbildern)
• Vokabel‑Karten mischen: Du übst mit 5 Stapeln. Vier Stapel nimmst du zum Lernen, den fünften zum Abfragen. Dann wechselst du den Abfragestapel, bis jeder einmal dran war. So siehst du, wie gut du insgesamt bist.
• Kochrezept‑Probe: Du testest dein neues Rezept mit verschiedenen Gruppen von Freunden. Jedes Mal kochst du gleich, aber andere probieren. Das Mittel der Bewertungen sagt mehr als eine einzige Meinung.
• Zeitreihe (vorsichtig!): Beim Börsenkurs schaust du nur in die Zukunft: immer auf Vergangenem trainieren, auf Zukünftigem testen – niemals umgekehrt.
Professionelle Definition (verständlich)
k‑Fold‑CV: Teile die Daten in k gleich große Falten. Für jede Falte: Trainiere auf k−1 Falten, teste auf der übrig gebliebenen. Am Ende mittlere Metrik (und Standardabweichung). Häufig: k = 5 oder 10.
Wichtige Varianten:
- Stratified k‑Fold: Erhält den Klassenanteil pro Falte (wichtig bei unausgewogenen Klassen).
- Repeated k‑Fold: Mehr Wiederholungen mit neuem Shuffle → stabilere Schätzung.
- Leave‑One‑Out (LOOCV): Jede Stichprobe ist einmal Testfall → sehr genau, aber teuer und oft lauter.
- Group k‑Fold: Ganze Gruppen bleiben zusammen (z. B. alle Bilder einer Person). Verhindert Leckage über geteilte Identitäten.
- Time‑Series CV (Rolling/Forward‑Chaining): Trainiere auf [1…t], teste auf [t+1…]; Fenster schieben, niemals mischen.
Verschachtelte CV (Nested CV):
- Innen: Hyperparameter‑Tuning (z. B. Grid/Random/Bayesian) nur auf dem Train‑Teil mit innerer CV.
- Außen: Leistungsschätzung auf dem äußeren Test‑Fold.
So vermeidest du Optimismus‑Bias durch Tuning auf Testdaten.
Auswertung:
- Berichte Mittelwert ± Standardabweichung deiner Metrik (z. B. F1, Accuracy, RMSE).
- Prüfe Verteilung der Scores (Boxplot) – große Streuung → Modell ist instabil.
Praxis‑Tipps
- Kein Datenleck! Skalieren, Imputieren, Feature‑Auswahl innerhalb jeder Train‑Fold fitten und erst dann auf den zugehörigen Test‑Fold anwenden (Pipelines nutzen).
- Stratifizieren bei Klassifikation; Gruppen respektieren (Patient, Kunde, Firma).
- Zeitreihen: Niemals shufflen; rollende oder expanding Fenster verwenden.
- k wählen: 5‑ oder 10‑Fold sind ein guter Start. Mehr Folds = teurer, nicht immer besser.
- Kleine Datensätze: LOOCV kann helfen, aber variiert stark → lieber Repeated k‑Fold.
- Tuning: Für faire Ergebnisse Nested CV nutzen – sonst riskierst du zu optimistische Scores.
- Reproduzierbarkeit: Random‑Seed setzen, genaue Preprocessing‑Schritte dokumentieren.
Quellen
- Kohavi (1995) – A Study of Cross‑Validation and Bootstrap for Accuracy Estimation
https://dl.acm.org/doi/10.1145/1643031.1643047 - Hastie, Tibshirani, Friedman – The Elements of Statistical Learning (Kap. Model Assessment)
https://web.stanford.edu/~hastie/ElemStatLearn/ - Arlot & Celisse (2010) – A Survey of Cross‑Validation Procedures for Model Selection
https://hal.science/hal-00626028/document - Varma & Simon (2006) – Bias in Error Estimation when using Cross‑Validation for Model Selection
https://link.springer.com/article/10.1007/s10994-006-6224-1 - scikit‑learn – Cross‑validation: evaluating estimator performance
https://scikit-learn.org/stable/modules/cross_validation.html - Bergmeir & Benítez (2012) – On the use of Cross‑Validation for Time Series Predictor Evaluation
https://link.springer.com/article/10.1007/s10489-011-0320-6