スタッキングで回帰に戻ろう
第1章では、アプリの評価値を1〜5の連続値として予測する回帰問題として扱いました。今章では、評価値を最も近い整数に丸める分類問題として取り組んできました。ここで StackingRegressor の練習として、再び回帰アプローチに戻ります。
いつもどおり、入力特徴量は StandardScaler() で標準化済みです。
評価指標は MAE(平均絶対誤差)です。第1章では MAE はおよそ 0.61 でした。スタッキング・アンサンブルでこの誤差をさらに小さくできるか試してみましょう。
この演習はコースの一部です
Pythonで学ぶアンサンブル手法
演習の手順
- 決定木回帰器を次の設定でインスタンス化します:
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)))