Sobes.tech
Middle — Senior

Hoe gebruik je cross-validatie om een model te beoordelen?

sobes.tech AI

Antwoord van AI

Kruisvalidatie is een methode om de kwaliteit van een machine learning-model te beoordelen, die helpt te controleren hoe goed het model zal werken op nieuwe gegevens. Het belangrijkste idee is om de oorspronkelijke dataset op te splitsen in meerdere delen (folds), het model op sommige delen te trainen en op de overige te testen.

De meest voorkomende variant is de k-voudige kruisvalidatie:

  1. Verdeel de gegevens in k gelijke delen.
  2. Voor elk van de k delen:
    • Train het model op de andere k-1 delen.
    • Test het model op het huidige deel (validatie set).
  3. De gemiddelde waarde van de metrics over alle k iteraties geeft een betrouwbaardere beoordeling van de modelkwaliteit.

Dit helpt overfitting te voorkomen en een meer objectieve beoordeling te krijgen dan een eenvoudige verdeling in trainings- en testsets.

Voorbeeld in Python met 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-voudige kruisvalidatie
print(f"Gemiddelde nauwkeurigheid: {scores.mean():.2f}")