5 x 5 折交叉驗證
交叉驗證不必只做一次迭代。重複交叉驗證能更好地估計測試集誤差。你也可以重複整個交叉驗證流程。這會花更久時間,但能產生更多可用的樣本外資料集,並更精確地評估模型表現。
caret 的 train() 函式很棒的一點,是只要在呼叫時調整幾個簡單的參數,就能輕鬆執行不同的模型或不同的交叉驗證方法。例如,你可以將整個交叉驗證流程重複 5 次,以提升對模型樣本外準確度估計的信心,例如:
trControl = trainControl(
method = "repeatedcv",
number = 5,
repeats = 5,
verboseIter = TRUE
)
本練習屬於課程
使用 R 的 caret 進行 Machine Learning
練習說明
- 重新對
Boston房價資料集擬合線性迴歸模型。 - 使用 5 次重複的 5 折交叉驗證。
- 在主控台列印模型。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Fit lm model using 5 x 5-fold CV: model
model <- train(
medv ~ .,
Boston,
method = "lm",
trControl = trainControl(
method = "repeatedcv",
number = ___,
repeats = ___,
verboseIter = TRUE
)
)
# Print model to console