モデルのブレンディング
ここでは、ブレンディング手法を使ってモデルアンサンブルを作成します。
目的は、New York City Taxi コンペティションのデータに対して 2 つの異なるモデルを学習し、テストデータで予測を作成したあと、単純な算術平均でブレンドすることです。
train と test の各 DataFrame はワークスペースに用意されています。features は学習に用いる列名のリストで、同様に利用可能です。目的変数名は "fare_amount" です。
この演習はコースの一部です
Pythonで挑むKaggleコンペティション
演習の手順
featuresリストを説明変数、"fare_amount" 列を目的変数として、学習データに Gradient Boosting モデルを学習させます。- 同様の手順で Random Forest モデルを学習させます。
- 学習した Gradient Boosting と Random Forest の両モデルで、テストデータに対する予測を作成します。
- 2 つのモデルの予測の平均を計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from sklearn.ensemble import GradientBoostingRegressor, RandomForestRegressor
# Train a Gradient Boosting model
gb = GradientBoostingRegressor().____(____[features], ____.fare_amount)
# Train a Random Forest model
rf = RandomForestRegressor().____(____[features], ____.fare_amount)
# Make predictions on the test data
test['gb_pred'] = ____.____(test[features])
test['rf_pred'] = ____.____(test[features])
# Find mean of model predictions
test['blend'] = (____[____] + ____[____]) / 2
print(test[['gb_pred', 'rf_pred', 'blend']].head(3))