Évaluer un modèle avec une séparation entraînement/test
Vous allez maintenant évaluer le modèle mpg_model sur les données de test, mpg_test.
Les fonctions rmse() et r_squared() pour calculer la RMSE et le R au carré sont fournies pour vous faciliter la tâche :
rmse(predcol, ycol)
r_squared(predcol, ycol)
où :
- predcol : les valeurs prédites
- ycol : la valeur réelle de la variable cible
Vous tracerez aussi les prédictions par rapport à la variable cible.
En général, le rendement d'un modèle est meilleur sur les données d'entraînement que sur les données de test (même s'il arrive que l'ensemble de test « ait de la chance »). Un léger écart de performance est acceptable ; si le rendement sur l'entraînement est nettement supérieur, il y a un problème.
Les tableaux de données mpg_train et mpg_test, ainsi que le modèle mpg_model, ont été préchargés, de même que les fonctions rmse() et r_squared().
Cette activité fait partie du cours
Apprentissage supervisé en R : régression
Instructions de l’exercice
- Prédisez l'efficacité énergétique en ville à partir de
hwysur les donnéesmpg_train. Placez les prédictions dans la colonnepred. - Prédisez l'efficacité énergétique en ville à partir de
hwysur les donnéesmpg_test. Placez les prédictions dans la colonnepred. - Utilisez
rmse()pour évaluer la RMSE pour les ensembles de test et d'entraînement. Comparez. Les rendements sont-ils similaires? - Faites la même chose avec
r_squared(). Les rendements sont-ils similaires? - Utilisez
ggplot2pour tracer les prédictions par rapport àctysur les données de test.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()