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

ประเมินโมเดลด้วยการแบ่งข้อมูล test/train

ตอนนี้จะทดสอบโมเดล mpg_model กับข้อมูล test ที่ชื่อ mpg_test มีฟังก์ชัน rmse() และ r_squared() เตรียมไว้ให้สำหรับคำนวณ RMSE และ R-squared:

rmse(predcol, ycol)
r_squared(predcol, ycol)

โดยที่:

  • predcol: ค่าที่โมเดลทำนาย
  • ycol: ค่าผลลัพธ์จริง

นอกจากนี้ยังจะพล็อตกราฟเปรียบเทียบค่าทำนายกับค่าจริงด้วย

โดยทั่วไป ประสิทธิภาพของโมเดลบนข้อมูล training มักดีกว่าบนข้อมูล test (แม้บางครั้งข้อมูล test อาจให้ผลดีเป็นพิเศษ) หากความแตกต่างมีเพียงเล็กน้อยถือว่าปกติ แต่ถ้าผลบนข้อมูล training ดีกว่ามาก แสดงว่ามีปัญหาเกิดขึ้น

ชุดข้อมูล mpg_train และ mpg_test รวมถึงโมเดล mpg_model และฟังก์ชัน rmse() กับ r_squared() ถูกโหลดไว้ให้เรียบร้อยแล้ว

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

Supervised Learning ใน R: การถดถอย

ดูคอร์ส

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

  • ทำนายประสิทธิภาพการใช้น้ำมันในเมืองจาก hwy โดยใช้ข้อมูล mpg_train แล้วกำหนดค่าทำนายไว้ในคอลัมน์ pred
  • ทำนายประสิทธิภาพการใช้น้ำมันในเมืองจาก hwy โดยใช้ข้อมูล mpg_test แล้วกำหนดค่าทำนายไว้ในคอลัมน์ pred
  • ใช้ rmse() ประเมิน RMSE ของทั้งชุด test และ training แล้วเปรียบเทียบกัน ประสิทธิภาพใกล้เคียงกันหรือไม่?
  • ทำเช่นเดียวกันกับ r_squared() ประสิทธิภาพใกล้เคียงกันหรือไม่?
  • ใช้ ggplot2 พล็อตกราฟค่าทำนายเทียบกับ cty จากข้อมูล test

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

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

# Examine the objects that have been loaded
ls.str()

# predict cty from hwy for the training set
mpg_train$pred <- ___

# predict cty from hwy for the test set
mpg_test$pred <- ___

# Evaluate the rmse on both training and test data and print them
(rmse_train <- ___)
(rmse_test <- ___)


# Evaluate the r-squared on both training and test data.and print them
(rsq_train <- ___)
(rsq_test <- ___)

# Plot the predictions (on the x-axis) against the outcome (cty) on the test data
ggplot(___, aes(x = ___, y = ___)) + 
  geom_point() + 
  geom_abline()
แก้ไขและรันโค้ด