交叉驗證
正如你所見,交叉驗證是一種避免過度擬合的巧妙方法。在這個練習中,你要計算交叉驗證後的準確率。
你可以直接開始,所需的資料 defaultData 和模型都已經準備好。準確率函式在前幾行程式碼中,這就是你的成本函式。保持原樣,並在下方呼叫 cv.glm() 時使用它。動手試試看!
本練習屬於課程
R 的行銷分析機器學習
練習說明
使用 6 折交叉驗證,為模型
logitModelNew計算準確率。你需要的函式是boot套件中的cv.glm()。交叉驗證後的準確率會儲存在結果中delta元素的第 1 個位置。將交叉驗證得到的準確率,與樣本內驗證的結果比較。記得,樣本內的準確率是
0.7922901。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
library(boot)
# Accuracy function
costAcc <- function(r, pi = 0) {
cm <- confusion.matrix(r, pi, threshold = 0.3)
acc <- sum(diag(cm)) / sum(cm)
return(acc)
}
# Cross validated accuracy for logitModelNew
set.seed(534381)
cv.glm(___, ___, cost = ___, K = ___)$delta[1]