Modellvalidierung — Vorlesungsnotizen
Quelle: Data Science · Modul 3 — Modellvalidierung · Coursera · Prof. Park · 46 Min
Warum splitten?
Lektion- Ziel: abschätzen, wie das Modell auf ungesehenen Daten performt — die einzige Metrik, die wirklich zählt.
- Fehlerquelle: wenn nur auf Train evaluiert wird, sehen alle Modelle gut aus — auch die schlechten.
- Hold-out-Prinzip: keine Entscheidung (Modellwahl, Hyperparameter) darf den Testset vor der finalen Auswertung sehen.
Drei-Wege-Split
Lektion- Train: zum Anpassen der Modellparameter.
- Val: für Hyperparameter-Tuning und Modellvergleich — wird oft berührt.
- Test: einmalig am Ende für die Schätzung der Real-World-Performance.
- Warum drei?: wenn auf dem Testset getunt wird, wird er zum zweiten Trainingsset — Generalisierung wird überschätzt.
Typische Verhältnisse
Lektion- 70/15/15: Standard für mittlere Datensätze (1k–100k).
- 80/10/10: üblich bei 10–100k Samples, wenn CV auf Train angewendet wird.
- Big Data 98/1/1: bei 1M+ Samples sind 1% noch 10k — genug für stabile Schätzungen.
Stratifizierung
Lektion- Wann: bei Klassenungleichgewicht oder seltenen Ereignissen.
- Wie: Klassenverhältnis wird in jedem Split erhalten.
- Tool: sklearns StratifiedKFold oder train_test_split(stratify=y).
Kreuzvalidierung
Lektion- k-fold: Trainingsset in k Teile zerlegen; auf k-1 trainieren, auf 1 validieren; rotieren; k Werte mitteln.
- Typisches k: 5 oder 10 — höhere Werte bringen kaum mehr.
- Zeitreihen: expanding window oder rolling window — niemals auf Zukunftsdaten trainieren.
Overfitting
Lektion- Definition: das Modell merkt sich Rauschen statt Signal.
- Signal: Train-Genauigkeit steigt, Val-Genauigkeit stagniert oder fällt.
- Lösungen: mehr Daten, einfacheres Modell, L1/L2, Dropout, Early Stopping, Data Augmentation.
Data Leakage
Lektion- Pre-processing-Falle: Scaler auf dem gesamten Datensatz fitten (inkl. Val/Test) leakt Verteilungsinformation.
- Lösung: Pre-processing in eine Pipeline packen und cross-validieren.
- Zeit-Leakage: Training auf Zukunftsdaten zur Vorhersage der Vergangenheit — bei Zeitreihen rollierende Splits verwenden.
Beispiel
Lektion- Setup: 10.000 Samples, binäre Klassifikation, 70/15/15 Split.
- Zahlen: train = 7.000, val = 1.500, test = 1.500.
- Stratifiziert: bei 80/20-Klassenverhältnis bleibt jedes Set bei diesem Verhältnis.






