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

กลับสู่การถดถอยด้วย Stacking

ในบทที่ 1 เราจัดการกับคะแนนแอปในรูปแบบของปัญหาการถดถอย โดยพยากรณ์คะแนนในช่วง 1 ถึง 5 แต่ในบทนี้ เราได้เปลี่ยนมาจัดการในรูปแบบของปัญหาการจำแนกประเภท โดยปัดคะแนนให้เป็นจำนวนเต็มที่ใกล้ที่สุด เพื่อฝึกการใช้ StackingRegressor เราจะกลับมาใช้แนวทางการถดถอยอีกครั้ง เช่นเดิม ฟีเจอร์อินพุตได้รับการทำให้เป็นมาตรฐานด้วย StandardScaler() ไว้ให้แล้ว

เมตริกที่ใช้ประเมินผลคือ MAE (mean absolute error) ในบทที่ 1 ค่า MAE อยู่ที่ประมาณ 0.61 มาดูกันว่าวิธี Stacking ensemble จะช่วยลดความคลาดเคลื่อนนั้นได้หรือไม่

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

Ensemble Methods ใน Python

ดูคอร์ส

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

  • สร้าง Decision tree regressor โดยกำหนด min_samples_leaf = 11 และ min_samples_split = 33
  • สร้าง Linear regression แบบค่าเริ่มต้น
  • สร้างโมเดล Ridge regression โดยกำหนด random_state = 500
  • สร้างและฝึก StackingRegressor โดยส่ง regressors และ meta_regressor เข้าไป

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

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

# Instantiate the 1st-layer regressors
reg_dt = ____(____, ____, random_state=500)
reg_lr = ____
reg_ridge = ____

# Instantiate the 2nd-layer regressor
reg_meta = LinearRegression()

# Build the Stacking regressor
reg_stack = ____
reg_stack.____

# Evaluate the performance on the test set using the MAE metric
pred = reg_stack.predict(X_test)
print('MAE: {:.3f}'.format(mean_absolute_error(y_test, pred)))
แก้ไขและรันโค้ด