CommencezCommencez gratuitement

Validation croisée à 10 plis

Comme vous l'avez vu dans la vidéo, une meilleure façon de valider des modèles consiste à utiliser plusieurs jeux de test systématiques plutôt qu'une seule division aléatoire entraînement/test. Heureusement, le paquet caret facilite grandement cette tâche :

model <- train(y ~ ., my_data)

caret prend en charge de nombreux types de validation croisée. Vous pouvez préciser le type de validation croisée et le nombre de plis au moyen de la fonction trainControl(), que vous passez à l'argument trControl de train() :

model <- train(
  y ~ ., 
  my_data,
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = 10,
    verboseIter = TRUE
  )
)

Il est important de noter que vous passez la méthode de modélisation à la fonction principale train() et la méthode de validation croisée à la fonction trainControl().

Cette activité fait partie du cours

Machine Learning avec caret en R

Voir le cours

Instructions de l’exercice

  • Ajustez une régression linéaire pour modéliser price à l'aide de toutes les autres variables du jeu de données diamonds comme prédicteurs. Utilisez la fonction train() et une validation croisée à 10 plis. (Notez que nous avons pris un sous-ensemble du jeu de données complet diamonds pour accélérer l'opération, mais il porte toujours le nom diamonds.)
  • Affichez le modèle dans la console et examinez les résultats.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Fit lm model using 10-fold CV: model
model <- train(
  ___, 
  ___,
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = ___,
    verboseIter = TRUE
  )
)

# Print model to console
Modifier et exécuter le code