เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Cross validation

อย่างที่เห็น cross validation เป็นวิธีที่ชาญฉลาดในการหลีกเลี่ยง overfitting ในแบบฝึกหัดนี้จะคำนวณความแม่นยำแบบ cross validated

ชุดข้อมูล defaultData และโมเดลพร้อมใช้งานแล้ว ฟังก์ชันความแม่นยำอยู่ในบรรทัดแรก ๆ ของโค้ด นี่คือ cost function ของคุณ ปล่อยไว้ตามเดิมแล้วนำไปใช้ใน cv.glm() ด้านล่าง ลองทำดูเลย!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Learning for Marketing Analytics ใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ 6-fold cross validation เพื่อคำนวณความแม่นยำของโมเดล logitModelNew โดยใช้ฟังก์ชัน cv.glm() จากแพ็กเกจ boot ความแม่นยำแบบ cross validated จะถูกเก็บไว้ในตำแหน่งแรกของ element delta ในผลลัพธ์

  • เปรียบเทียบความแม่นยำจาก cross validation กับความแม่นยำแบบ in-sample validation จำไว้ว่าค่านั้นคือ 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]
แก้ไขและรันโค้ด