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
Instructions
- Ajustez une régression linéaire pour modéliser
priceen utilisant toutes les autres variables du jeu de donnéesdiamondscomme prédicteurs. Utilisez la fonctiontrain()avec une validation croisée en 10 plis. (Notez que nous avons prélevé un sous-ensemble du jeu de donnéesdiamondscomplet pour accélérer l’exécution, mais son nom restediamonds.) - 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