開始使用免費開始

交叉驗證

正如你所見,交叉驗證是一種避免過度擬合的巧妙方法。在這個練習中,你要計算交叉驗證後的準確率。

你可以直接開始,所需的資料 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]
編輯並執行程式碼