Boosting สำหรับการทำนายรายได้
โมเดลเริ่มต้นได้ค่า RMSE อยู่ที่ประมาณ 7.34 มาดูกันว่าเราจะปรับปรุงผลลัพธ์นี้ได้หรือไม่ด้วยการทำ boosting หนึ่งรอบ
จะสร้าง linear regression อีกตัวหนึ่ง แต่คราวนี้ค่าเป้าหมายคือค่าความผิดพลาดจากโมเดลฐาน ซึ่งคำนวณได้ดังนี้:
y_train_error = pred_train - y_train
y_test_error = pred_test - y_test
โมเดลนี้จะใช้ feature 'popularity' แทน เพื่อดูว่าสามารถจับรูปแบบที่มีประโยชน์กว่า feature 'budget' เพียงอย่างเดียวได้หรือไม่ โดย feature ดังกล่าวพร้อมใช้งานในชื่อ X_train_pop และ X_test_pop เช่นเดียวกับแบบฝึกหัดก่อนหน้า input features ได้ถูก standardize ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Ensemble Methods ใน Python
คำแนะนำการฝึกหัด
- Fit โมเดล linear regression กับค่าความผิดพลาดก่อนหน้า โดยใช้
X_train_popและy_train_error - คำนวณค่าความผิดพลาดที่ทำนายบนชุดทดสอบ
X_test_pop - คำนวณค่า RMSE เช่นเดียวกับแบบฝึกหัดก่อนหน้า โดยใช้
y_test_errorและpred_error
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Fit a linear regression model to the previous errors
reg_error = LinearRegression()
____
# Calculate the predicted errors on the test set
pred_error = ____
# Evaluate the updated performance
rmse_error = ____
print('RMSE: {:.3f}'.format(rmse_error))