Evalúa un modelo usando una división train/test
Ahora vas a probar el modelo mpg_model en los datos de test, mpg_test.
Se han proporcionado las funciones rmse() y r_squared() para calcular RMSE y R-squared por comodidad:
rmse(predcol, ycol)
r_squared(predcol, ycol)
donde:
- predcol: los valores predichos
- ycol: el resultado real
También representarás las predicciones frente al resultado.
Por lo general, el rendimiento del modelo es mejor en los datos de entrenamiento que en los de test (aunque a veces el conjunto de test "tiene suerte"). Una ligera diferencia en el rendimiento está bien; si el rendimiento en entrenamiento es significativamente mejor, hay un problema.
Los data frames mpg_train y mpg_test, y el modelo mpg_model ya están precargados, junto con las funciones rmse() y r_squared().
Este ejercicio forma parte del curso
Aprendizaje supervisado en R: Regresión
Instrucciones del ejercicio
- Predice la eficiencia de combustible en ciudad a partir de
hwyen los datosmpg_train. Asigna las predicciones a la columnapred. - Predice la eficiencia de combustible en ciudad a partir de
hwyen los datosmpg_test. Asigna las predicciones a la columnapred. - Usa
rmse()para evaluar el RMSE tanto en el conjunto de test como en el de entrenamiento. Compáralos. ¿Son similares los rendimientos? - Haz lo mismo con
r_squared(). ¿Son similares los rendimientos? - Usa
ggplot2para representar las predicciones frente actyen los datos detest.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Examine the objects that have been loaded
ls.str()
# predict cty from hwy for the training set
mpg_train$pred <- ___
# predict cty from hwy for the test set
mpg_test$pred <- ___
# Evaluate the rmse on both training and test data and print them
(rmse_train <- ___)
(rmse_test <- ___)
# Evaluate the r-squared on both training and test data.and print them
(rsq_train <- ___)
(rsq_test <- ___)
# Plot the predictions (on the x-axis) against the outcome (cty) on the test data
ggplot(___, aes(x = ___, y = ___)) +
geom_point() +
geom_abline()