始める無料で始める

モデルスタッキング II

では、これまでにスタッキング実装で行ったことを振り返りましょう。

  1. 学習データを2つに分割した
  2. パート1に対して複数のモデルを学習した
  3. パート2に対して予測を作成した
  4. テストデータに対して予測を作成した

次の目標は、手順3と4で得た予測を特徴量として用い、第二レベルのモデルを作成することです。つまり、このモデルはパート2のデータで学習し、その後テストデータに対してスタッキングの予測を行えます。

part_2test の各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_)
コードを編集して実行