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$ |
|---|---|---|
| train | 0.7082675 | 0.8029275 |
| test | 0.9349416 | 0.7451896 |
| cross-validation | 0.8175714 | 0.7635331 |
R 中的監督式學習:回歸