CommencerCommencez gratuitement

Évaluer un modèle avec une séparation entraînement/test

Vous allez maintenant tester 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-squared sont fournies pour plus de commodité :

rmse(predcol, ycol)
r_squared(predcol, ycol)

où :

  • predcol : les valeurs prédites
  • ycol : la valeur réelle

Vous tracerez aussi les prédictions par rapport à la variable cible.

En général, les performances du modèle sont meilleures sur les données d’entraînement que sur les données de test (même si parfois l’échantillon de test « a de la chance »). Un léger écart de performance est acceptable ; si la performance sur l’entraînement est nettement meilleure, il y a un problème.

Les data frames 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().

Cet exercice fait partie du cours

<cours>Apprentissage supervisé en R : Régression</cours>
Voir le cours

Instructions de l’exercice

  • Prédisez la consommation en ville à partir de hwy sur les données mpg_train. Assignez les prédictions à la colonne pred.
  • Prédisez la consommation en ville à partir de hwy sur les données mpg_test. Assignez les prédictions à la colonne pred.
  • Utilisez rmse() pour évaluer la RMSE sur les ensembles de test et d’entraînement. Comparez. Les performances sont-elles similaires ?
  • Faites de même avec r_squared(). Les performances sont-elles similaires ?
  • Utilisez ggplot2 pour tracer les prédictions en fonction de 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