Обучение с учителем в R: регрессия
Nina Zumel and John Mount
Win-Vector, LLC


Рекомендуется при достаточном объёме данных



Предпочтителен, когда данных недостаточно для выделения тестовой выборки



library(vtreat)
splitPlan <- kWayCrossValidation(nRows, nSplits, NULL, NULL)
nRows: количество строк в обучающих данныхnSplits: количество фолдов (разбиений) при кросс-валидацииlibrary(vtreat)
splitPlan <- kWayCrossValidation(10, 3, NULL, NULL)
Первый фолд (A и B — обучение, C — тест)
splitPlan[[1]]
$train
1 2 4 5 7 9 10
$app
3 6 8
Обучение на A и B, тест на C и т.д...
split <- splitPlan[[1]]
model <- lm(fmla, data = df[split$train,])
df$pred.cv[split$app] <- predict(model, newdata = df[split$app,])

| Тип метрики | RMSE | $R^2$ |
|---|---|---|
| обучающая | 0.7082675 | 0.8029275 |
| тестовая | 0.9349416 | 0.7451896 |
| кросс-валидация | 0.8175714 | 0.7635331 |
Обучение с учителем в R: регрессия