【Kaggle】Bike Sharing Demandを予測してみた

修論が終わったので、今まで余り手が出せていなかった分野にぼちぼちチャレンジしようと思う。

ということで、とりあえずKaggleに投稿してみた。投稿したコンペティションはこちら。


Description - Bike Sharing Demand | Kaggle

 

自転車のシェアリングシステムで、一時間に何台の自転車が貸し出されるかを予測する問題。

与えられるデータには日時、季節、天候等が記載されていて、これらの特徴量から自転車の貸し出し台数を予測する。予測結果と真の値の誤差はRMSLEで算出され、評価される。

 

一先ず、処理がめんどくさい日時以外の特徴量とscikit-learnのSVRを使って予測してみる。結果は、スコアが1.45くらいで順位が大体1900位/2000人。道のりは険しい。ちなみに、予測台数を全て0にしたサンプルのサブミッションファイルだとスコアが4.5くらいだった。

次に、時間帯を特徴量として扱うように変更を加えた。時間帯を1時間ごとに区切ってカテゴリカルな特徴量として扱うようにした。この特徴量を加えて、同様にSVRで予測するとスコアが1.2くらいに改善された。これでもまだ1800位くらい。

SVRだと性能が余り良くなさそうだったので、scikit-learnに入っている他の手法を試してみた。すると、RandomForestRegressorでスコアが0.55程度まで改善された。大分良くなったのだけど、何でRandomForestだとここまで精度が改善されるのかは理解していないので勉強しないと...。

 

ちょっとした追記 

特徴量の作り方 - naohachi89’s diary