คำนวณ RMSE
ในแบบฝึกหัดนี้ จะได้คำนวณ RMSE ของโมเดลการว่างงาน ในแบบฝึกหัดก่อนหน้า ได้เพิ่มสองคอลัมน์เข้าไปใน dataset unemployment ได้แก่:
- ค่าที่โมเดลพยากรณ์ (คอลัมน์
predictions) - ค่าความคลาดเคลื่อนระหว่างค่าพยากรณ์กับค่าจริง (คอลัมน์
residuals)
สามารถคำนวณ RMSE จากเวกเตอร์ค่าความคลาดเคลื่อน \(res\) ได้ดังนี้:
$$ RMSE = \sqrt{\operatorname{mean}(res^2)} $$
ค่า RMSE ที่ดีควรมีค่าน้อย แล้ว "น้อย" แค่ไหนถึงจะถือว่าดี? หลักการอย่างหนึ่งคือเปรียบเทียบ RMSE กับส่วนเบี่ยงเบนมาตรฐานของตัวแปรผลลัพธ์ โมเดลที่ดีควรมีค่า RMSE ต่ำกว่าส่วนเบี่ยงเบนมาตรฐาน
โหลด data frame unemployment ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Supervised Learning ใน R: การถดถอย
คำแนะนำการฝึกหัด
- ตรวจสอบข้อมูล
unemploymentจากแบบฝึกหัดก่อนหน้า - เพื่อความสะดวก ให้กำหนดคอลัมน์
residualsจากunemploymentให้กับตัวแปรres - คำนวณ RMSE โดยยกกำลังสอง
resแล้วหาค่าเฉลี่ย จากนั้นหาค่ารากที่สอง กำหนดผลลัพธ์ให้กับตัวแปรrmseแล้วแสดงค่า- เคล็ดลับ: สามารถทำในขั้นตอนเดียวโดยครอบการกำหนดค่าด้วยวงเล็บ:
(rmse <- ___)
- เคล็ดลับ: สามารถทำในขั้นตอนเดียวโดยครอบการกำหนดค่าด้วยวงเล็บ:
- คำนวณส่วนเบี่ยงเบนมาตรฐานของ
female_unemploymentและกำหนดให้กับตัวแปรsd_unemploymentแล้วแสดงค่า ค่า RMSE ของโมเดลเทียบกับส่วนเบี่ยงเบนมาตรฐานของข้อมูลเป็นอย่างไร?
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Print a summary of unemployment
summary(unemployment)
# For convenience put the residuals in the variable res
res <- ___
# Calculate RMSE, assign it to the variable rmse and print it
(rmse <- ___)
# Calculate the standard deviation of female_unemployment and print it
(sd_unemployment <- ___)