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
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éesdiamondscomme prédicteurs. Utilisez la fonctiontrain()et une validation croisée à 10 plis. (Notez que nous avons pris un sous-ensemble du jeu de données completdiamondspour accélérer l'opération, mais il porte toujours le nomdiamonds.) - 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