Validación cruzada de 10 pliegues
Como viste en el vídeo, una forma mejor de validar modelos es usar múltiples conjuntos de prueba sistemáticos en lugar de una sola partición aleatoria de entrenamiento/prueba. Por suerte, el paquete caret lo hace muy fácil:
model <- train(y ~ ., my_data)
caret admite muchos tipos de validación cruzada, y puedes indicar el tipo y el número de pliegues con la función trainControl(), que se pasa al argumento trControl de train():
model <- train(
y ~ .,
my_data,
method = "lm",
trControl = trainControl(
method = "cv",
number = 10,
verboseIter = TRUE
)
)
Es importante tener en cuenta que el método de modelado se pasa a la función principal train() y el método de validación cruzada se pasa a la función trainControl().
Este ejercicio forma parte del curso
Machine Learning con caret en R
Instrucciones del ejercicio
- Ajusta una regresión lineal para modelar
priceusando todas las demás variables del conjunto de datosdiamondscomo predictoras. Utiliza la funcióntrain()y validación cruzada de 10 pliegues. (Ten en cuenta que hemos tomado un subconjunto del conjunto de datosdiamondscompleto para acelerar esta operación, pero sigue llamándosediamonds.) - Imprime el modelo en la consola y examina los resultados.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Fit lm model using 10-fold CV: model
model <- train(
___,
___,
method = "lm",
trControl = trainControl(
method = "cv",
number = ___,
verboseIter = TRUE
)
)
# Print model to console