モデルスタッキング II
では、これまでにスタッキング実装で行ったことを振り返りましょう。
- 学習データを2つに分割した
- パート1に対して複数のモデルを学習した
- パート2に対して予測を作成した
- テストデータに対して予測を作成した
次の目標は、手順3と4で得た予測を特徴量として用い、第二レベルのモデルを作成することです。つまり、このモデルはパート2のデータで学習し、その後テストデータに対してスタッキングの予測を行えます。
part_2 と test の各DataFrameはワークスペースに用意されています。Gradient Boosting と Random Forest の予測は、各DataFrame内でそれぞれ "gbpred" と "rfpred" という列名で保存されています。
この演習はコースの一部です
Pythonで挑むKaggleコンペティション
演習の手順
- Gradient Boosting と Random Forest の予測を特徴量として用い、パート2のデータで Linear Regression モデルを学習してください。
- 同じく Gradient Boosting と Random Forest の予測を特徴量として用い、テストデータに対して予測を作成してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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_)