CommencerCommencer gratuitement

Validation croisée en 10 plis

Comme vous l’avez vu dans la vidéo, une meilleure approche pour valider des modèles consiste à utiliser plusieurs jeux de test systématiques, plutôt qu’une seule séparation aléatoire entraînement/test. Heureusement, le package caret facilite grandement cette opération :

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 avec 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().

Cet exercice fait partie du cours

Machine Learning avec caret en R

Afficher le cours

Instructions

  • Ajustez une régression linéaire pour modéliser price en utilisant toutes les autres variables du jeu de données diamonds comme prédicteurs. Utilisez la fonction train() avec une validation croisée en 10 plis. (Notez que nous avons prélevé un sous-ensemble du jeu de données diamonds complet pour accélérer l’exécution, mais son nom reste diamonds.)
  • Affichez le modèle dans la console et examinez les résultats.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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