Model Stacking II
ขั้นตอนที่ดำเนินการไปแล้วในการสร้าง stacking มีดังนี้
- แบ่งข้อมูล train ออกเป็น 2 ส่วน
- ฝึกโมเดลหลายตัวบนข้อมูลส่วนที่ 1
- ทำนายผลบนข้อมูลส่วนที่ 2
- ทำนายผลบนข้อมูล test
ขั้นตอนต่อไปคือสร้างโมเดลระดับที่ 2 โดยใช้ผลการทำนายจากขั้นตอนที่ 3 และ 4 เป็น features โมเดลนี้จะถูกฝึกบนข้อมูลส่วนที่ 2 แล้วนำไปทำนายผลแบบ stacking บนข้อมูล test
DataFrame part_2 และ test พร้อมใช้งานแล้วใน workspace ผลการทำนายของ Gradient Boosting และ Random Forest ถูกเก็บไว้ใน DataFrame เหล่านี้ภายใต้ชื่อ "gb_pred" และ "rf_pred" ตามลำดับ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การแข่งขัน Kaggle ด้วย Python
คำแนะนำการฝึกหัด
- ฝึกโมเดล Linear Regression บนข้อมูลส่วนที่ 2 โดยใช้ผลการทำนายของโมเดล Gradient Boosting และ Random Forest เป็น features
- ทำนายผลบนข้อมูล test โดยใช้ผลการทำนายของโมเดล Gradient Boosting และ Random Forest เป็น features
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.linear_model import LinearRegression
# Create linear regression model without the intercept
lr = LinearRegression(fit_intercept=False)
# Train 2nd level model on the Part 2 data
lr.____(part_2[['gb_pred', '____']], part_2.fare_amount)
# Make stacking predictions on the test data
test['stacking'] = lr.____(test[['gb_pred', '____']])
# Look at the model coefficients
print(lr.coef_)