始める無料で始める

モデルのブレンディング

ここでは、ブレンディング手法を使ってモデルアンサンブルを作成します。

目的は、New York City Taxi コンペティションのデータに対して 2 つの異なるモデルを学習し、テストデータで予測を作成したあと、単純な算術平均でブレンドすることです。

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