5 x 5-fold cross-validatie
Je kunt meer doen dan één iteratie van cross-validatie. Herhaalde cross-validatie geeft je een betere schatting van de fout op de testset. Je kunt ook de volledige cross-validatieprocedure herhalen. Dat kost meer tijd, maar levert veel meer out-of-sample-gegevenssets op om te bekijken en veel preciesere inschattingen van hoe goed het model presteert.
Een van de mooie dingen aan de functie train() in caret is hoe eenvoudig het is om heel verschillende modellen of cross-validatiemethodes te draaien door slechts een paar eenvoudige argumenten van de functieaanroep aan te passen. Zo kun je bijvoorbeeld je volledige cross-validatieprocedure 5 keer herhalen om meer vertrouwen te krijgen in je schattingen van de out-of-sample-nauwkeurigheid van het model, bijvoorbeeld:
trControl = trainControl(
method = "repeatedcv",
number = 5,
repeats = 5,
verboseIter = TRUE
)
Deze oefening maakt deel uit van de cursus
Machine Learning met caret in R
Oefeninstructies
- Fit het lineaire regressiemodel opnieuw op de
Boston-woningendataset. - Gebruik 5 herhalingen van 5-fold cross-validatie.
- Print het model naar de console.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Fit lm model using 5 x 5-fold CV: model
model <- train(
medv ~ .,
Boston,
method = "lm",
trControl = trainControl(
method = "repeatedcv",
number = ___,
repeats = ___,
verboseIter = TRUE
)
)
# Print model to console