Aprendizado Supervisionado em R: Regressão
Nina Zumel and John Mount
Win-Vector, LLC


Método recomendado quando há muitos dados



Preferível quando os dados não são grandes o suficiente para separar um conjunto de teste



library(vtreat)
splitPlan <- kWayCrossValidation(nRows, nSplits, NULL, NULL)
nRows: número de linhas nos dados de treinonSplits: número de folds (partições) na validação cruzadalibrary(vtreat)
splitPlan <- kWayCrossValidation(10, 3, NULL, NULL)
Primeiro fold (A e B para treinar, C para testar)
splitPlan[[1]]
$train
1 2 4 5 7 9 10
$app
3 6 8
Treine em A e B, teste em C, etc.
split <- splitPlan[[1]]
model <- lm(fmla, data = df[split$train,])
df$pred.cv[split$app] <- predict(model, newdata = df[split$app,])

| Tipo de medida | RMSE | $R^2$ |
|---|---|---|
| treino | 0,7082675 | 0,8029275 |
| teste | 0,9349416 | 0,7451896 |
| validação cruzada | 0,8175714 | 0,7635331 |
Aprendizado Supervisionado em R: Regressão