用 stacking 回到迴歸問題
在第 1 章中,我們把應用程式評分當成迴歸問題來處理,預測 1 到 5 之間的分數。到目前為止,你在本章把它當成分類問題,先把評分四捨五入到最接近的整數。為了練習使用 StackingRegressor,我們要回到迴歸的方法。
一如往常,輸入特徵已替你用 StandardScaler() 標準化。
評估指標是 MAE(平均絕對誤差)。在第 1 章中,MAE 大約是 0.61。來看看 stacking 集成方法能不能把誤差再降一點。
本練習屬於課程
Python 的 Ensemble 方法
練習說明
- 建立一個決策樹迴歸器,參數為:
min_samples_leaf = 11與min_samples_split = 33。 - 建立預設的線性迴歸模型。
- 建立一個
Ridge迴歸模型,設定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)))