CommencezCommencez gratuitement

É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

Voir le cours

Instructions de l’exercice

  • Prédisez l'efficacité énergétique en ville à partir de hwy sur les données mpg_train. Placez les prédictions dans la colonne pred.
  • Prédisez l'efficacité énergétique en ville à partir de hwy sur les données mpg_test. Placez les prédictions dans la colonne pred.
  • 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 ggplot2 pour tracer les prédictions par rapport à cty sur 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()
Modifier et exécuter le code