10-faldig korsvalidering
Som du såg i videon är det bättre att validera modeller med flera systematiska testmängder i stället för en enda slumpmässig uppdelning i tränings- och testdata. Med paketet caret är det enkelt att göra:
model <- train(y ~ ., my_data)
caret stöder många typer av korsvalidering. Du anger vilken typ av korsvalidering och hur många vikningar som ska användas via funktionen trainControl(), som du skickar till argumentet trControl i train():
model <- train(
y ~ .,
my_data,
method = "lm",
trControl = trainControl(
method = "cv",
number = 10,
verboseIter = TRUE
)
)
Notera att du skickar modelleringsmetoden till huvudfunktionen train() och korsvalideringsmetoden till trainControl().
Den här övningen är en del av kursen
Maskininlärning med caret i R
Övningsinstruktioner
- Anpassa en linjär regression för att modellera
pricemed hjälp av alla övriga variabler i datamängdendiamondssom prediktorer. Använd funktionentrain()och 10-faldig korsvalidering. (Observera att vi använder en delmängd av den fullständiga datamängdendiamondsför att påskynda beräkningen, men den heter fortfarandediamonds.) - Skriv ut modellen i konsolen och granska resultaten.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Fit lm model using 10-fold CV: model
model <- train(
___,
___,
method = "lm",
trControl = trainControl(
method = "cv",
number = ___,
verboseIter = TRUE
)
)
# Print model to console