Cross-Validation ist eine Technik, die zur Bewertung der Leistung von überwachten Lernmodellen verwendet wird. Es hilft sicherzustellen, dass das Modell gut zu nicht gesehenen Daten verallgemeinert, indem es den Datensatz in mehrere Untergruppen für Schulungen und Tests unterteilt.

Cross-Validierung verstehen

Die Kreuzvalidierung beinhaltet die Aufteilung des Datensatzes in mehrere Teile oder Falten. Das Modell wird auf eine Teilmenge dieser Falten trainiert und auf die verbleibende Falte getestet. Dieser Vorgang wird mehrmals wiederholt, wobei jedes Mal unterschiedliche Falten zum Testen verwendet werden. Die Ergebnisse werden dann gemittelt, um eine Gesamtleistungsmetrik zu erhalten.

Arten der Cross-Validierung

Die häufigsten Typen sind:

  • k-Fold Cross-Validation: teilt Daten in k gleiche Teile, Training auf k-1 Teile und Testen auf dem restlichen Teil.
  • Stratified k-Fold: Stellt sicher, dass jede Falte die Klassenverteilung des gesamten Datensatzes beibehält.
  • Leave-One-Out (LOO): Verwendet einen einzelnen Datenpunkt zum Testen und den Rest zum Training, wiederholt für jeden Datenpunkt.

Umsetzung der Cross-Validierung in der Praxis

Die meisten Bibliotheken für maschinelles Lernen bieten integrierte Funktionen für die Crossvalidation. In Pythons scikit-learn vereinfacht die Funktion den Prozess. Sie müssen das Modell, den Datensatz und die Anzahl der Falten angeben.

Beispielcode-Snippet:

von sklearn.model selection import cross val score

scores = cross val score(model, X, y, cv=5)

Dieser Code führt eine 5-fache Kreuzvalidierung durch und gibt die Ergebnisse für jede Falte zurück.