Cross-validation 5 x 5 fold ripetuta
Puoi fare molto più di una sola iterazione di cross-validation. La cross-validation ripetuta ti dà una stima migliore dell’errore sul test set. Puoi anche ripetere l’intera procedura di cross-validation. Questo richiede più tempo, ma ti fornisce molti più insiemi di dati out-of-sample da esaminare e valutazioni molto più precise di come si comporta il modello.
Una delle cose fantastiche della funzione train() in caret è la facilità con cui puoi eseguire modelli molto diversi o metodi di cross-validation semplicemente modificando alcuni argomenti della chiamata. Ad esempio, puoi ripetere l’intera procedura di cross-validation 5 volte per avere maggiore fiducia nelle stime dell’accuratezza out-of-sample del modello, ad esempio:
trControl = trainControl(
method = "repeatedcv",
number = 5,
repeats = 5,
verboseIter = TRUE
)
Questo esercizio fa parte del corso
Machine Learning con caret in R
Istruzioni dell'esercizio
- Riesegui il modello di regressione lineare sul dataset delle abitazioni
Boston. - Usa 5 ripetizioni di una cross-validation a 5 fold.
- Stampa il modello nella console.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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