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)