Sobes.tech
Middle — Senior

Wie man Kreuzvalidierung zur Bewertung eines Modells verwendet?

sobes.tech KI

Antwort von AI

Die Kreuzvalidierung ist eine Methode zur Bewertung der Qualität eines maschinellen Lernmodells, die dabei hilft zu überprüfen, wie gut das Modell auf neuen Daten funktionieren wird. Die Hauptidee ist, den ursprünglichen Datensatz in mehrere Teile (Folds) zu unterteilen, das Modell auf einigen Teilen zu trainieren und auf den verbleibenden zu testen.

Die gebräuchlichste Variante ist die k-fache Kreuzvalidierung:

  1. Den Datensatz in k gleiche Teile aufteilen.
  2. Für jeden der k Teile:
    • Das Modell auf den anderen k-1 Teilen trainieren.
    • Das Modell auf dem aktuellen Teil (Validierungsset) testen.
  3. Der Durchschnitt der Metriken aller k Iterationen liefert eine zuverlässigere Einschätzung der Modellqualität.

Dies hilft, Überanpassung zu vermeiden und eine objektivere Bewertung zu erhalten als eine einfache Aufteilung in Trainings- und Testsets.

Beispiel in Python mit scikit-learn:

from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

iris = load_iris()
X, y = iris.data, iris.target
model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5)  # 5-fache Kreuzvalidierung
print(f"Durchschnittliche Genauigkeit: {scores.mean():.2f}")