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()กับชุดข้อมูลBostonhousing โดยให้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