始める無料で始める

Gradient Boosting を基準としたベースライン

最後のベースラインを Random Forest で作ってみましょう。ビデオでは、グルーピングによるベースラインから Gradient Boosting に切り替えることでスコアが大きく改善しました。ここでは、sklearn の Random Forest を使って、さらにスコア向上を目指します。

この演習の目的は、数値特徴量を使ってチューニングなしの Random Forest モデルを学習することです。その後、テストデータに対して予測を行い、Public Leaderboard で結果を確認できます。なお、すでに "hour" という特徴量があり、これもモデルの入力として利用できます。

この演習はコースの一部です

Pythonで挑むKaggleコンペティション

コースを見る

演習の手順

  • 数値特徴量のリストに "hour" を追加します。
  • 数値特徴量を用いた学習データに対して、目的変数を "fare_amount" として RandomForestRegressor を学習させます。
  • 学習済みの Random Forest モデルでテストデータの予測を行います。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

from sklearn.ensemble import RandomForestRegressor

# Select only numeric features
features = ['pickup_longitude', 'pickup_latitude', 'dropoff_longitude',
            'dropoff_latitude', 'passenger_count', ____]

# Train a Random Forest model
rf = RandomForestRegressor()
rf.____(train[____], train.fare_amount)

# Make predictions on the test data
test['fare_amount'] = ____.____(test[features])

# Write predictions
test[['id','fare_amount']].to_csv('rf_sub.csv', index=False)
コードを編集して実行