Dictionary

Cross-validation

Cross-validation beoordeelt een model door de data meerdere keren anders te splitsen. Zo krijg je een stabieler beeld dan met één train-test split.

Wat is cross-validation?

Cross-validation is een manier om een machine learning-model te beoordelen door je data meerdere keren te splitsen. Het model traint telkens op een deel en wordt getest op het overgebleven deel.

Bij k-fold cross-validation verdeel je de data bijvoorbeeld in vijf folds. Het model traint vijf keer: telkens op vier folds, en test op de fold die overblijft. Daarna neem je het gemiddelde en de spreiding van de scores.

Dat geeft een stabieler beeld dan één train-test split, vooral bij kleinere datasets.

Hoe werkt k-fold cross-validation?

from sklearn.model_selection import cross_val_score

scores = cross_val_score(model, X, y, cv=5)

De vijf scores tonen niet alleen hoe goed het model gemiddeld presteert, maar ook hoe gevoelig de score is voor de gekozen split.

Varianten

  • Stratified cross-validation. Elke fold behoudt ongeveer dezelfde verhouding tussen klassen. Nuttig bij class imbalance.

  • Grouped cross-validation. Records van dezelfde klant, patiënt of machine blijven samen in één fold.

  • Time-series cross-validation. Training gebruikt alleen het verleden, validatie ligt later in de tijd.

Cross-validation versus train-test split

Een train-test split is eenvoudig en snel. Cross-validation gebruikt de data efficiënter en geeft meer zicht op variatie.

Voor modelkeuze is cross-validation vaak handig. Voor de finale beoordeling hou je liefst nog een aparte testset over, zodat je niet eindeloos optimaliseert op dezelfde validatiescores.

Cross-validation en data leakage

Cross-validation beschermt niet automatisch tegen leakage. Als je preprocessing buiten de fold uitvoert, lekt informatie uit validatiedata naar training.

Daarom gebruik je pipelines: elke fold leert preprocessing alleen op de trainingsfold en past die toe op de validatiefold. Bij tijdsreeksen gebruik je geen gewone random folds, omdat die de toekomst door het verleden mengen.

Wanneer gebruik je cross-validation?

  1. Kleine of middelgrote datasets. Je wil de beschikbare data efficiënt gebruiken.

  2. Modelvergelijking. Je vergelijkt algoritmes of hyperparameters op een eerlijkere basis.

  3. Instabiele scores. Je wil weten of prestaties sterk afhangen van toevallige splits.

  4. Zeldzame klassen. Je combineert het met stratification om elke fold bruikbaar te houden.

Waar moet je op letten bij cross-validation

  • Kies de juiste foldstrategie. Random folds zijn niet geschikt voor elk probleem.

  • Gebruik preprocessing binnen de pipeline. Anders meet je een model dat in productie meer weet dan het zou mogen.

  • Let op rekentijd. Vijf folds betekent vijf keer trainen.

  • Rapporteer spreiding. Alleen het gemiddelde verbergt instabiliteit.

Laatst Bijgewerkt: July 9, 2026 Terug naar Woordenboek
Trefwoorden
cross-validation train-test split machine learning data leakage class imbalance supervised learning model evaluatie mlops