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

Cross-validation แบบ 5-fold

ในคอร์สนี้ เราจะใช้ชุดข้อมูลหลากหลายเพื่อสำรวจความยืดหยุ่นของแพ็กเกจ caret อย่างเต็มที่ ในแบบฝึกหัดนี้จะใช้ชุดข้อมูลที่มีชื่อเสียงอย่าง Boston housing ซึ่งมีเป้าหมายในการพยากรณ์ราคาบ้านมัธยฐานในย่านต่าง ๆ ของบอสตัน

ใช้โค้ดแบบเดียวกับแบบฝึกหัดก่อนหน้าได้เลย เพียงแค่เปลี่ยนชุดข้อมูลที่โมเดลใช้:

model <- train(
  medv ~ ., 
  Boston, # <- ใหม่!
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = 10,
    verboseIter = TRUE
  )
)

จากนั้น ลดจำนวน fold ของ cross-validation จาก 10 เป็น 5 โดยใช้อาร์กิวเมนต์ number ใน trainControl():

trControl = trainControl(
  method = "cv", 
  number = 5,
  verboseIter = TRUE
)

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

Machine Learning ด้วย caret ใน R

ดูคอร์ส

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

  • ฝึกโมเดล lm() กับชุดข้อมูล Boston housing โดยให้ medv เป็นตัวแปรตอบสนอง และใช้ตัวแปรอื่น ๆ ทั้งหมดเป็นตัวแปรอธิบาย
  • ใช้ cross-validation แบบ 5-fold แทนแบบ 10-fold
  • แสดงผลโมเดลใน console และตรวจสอบผลลัพธ์ที่ได้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Fit lm model using 5-fold CV: model
model <- train(
  ___, 
  ___,
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = ___,
    verboseIter = TRUE
  )
)

# Print model to console
แก้ไขและรันโค้ด