機械学習

【106位】SIGNATEコンペに挑戦!Jリーグの観客動員数予測

2018年7月5日

SIGNATEコンペに挑戦!Jリーグの観客動員数予測
https://signate.jp/competitions/27/

Jリーグの観客数を予測する問題です。

■データ確認・前処理

ざっと見、欠損は無さそう。

とりあえずデータが複数テーブルに分かれているので、以下のように結合します。

・「モデル学習用試合データ (train.csv)」と「モデル学習用試合追加データ (train_add.csv)」
・「試合詳細データ (condition.csv)」と「試合詳細追加データ (condition_add.csv)」
・学習用試合データと「スタジアムデータ (stadium.csv)」を「name」をキーを元に結合。試合詳細データも「id」をキーに結合

あと基本ですが、trainとtestはくっつた上でまとめて書加工していきます。

■1回目

XGBoostで3,467(106位/456人)

■2回目

入場観客数は、季節やデーゲーム/ナイトゲーム区分によって明らかに異なると思うので、以下特徴量を追加

season:3~5月:spring 6~8月:summer 9~12月:autumn ※12月のゲームはほとんど無く、しかも12/上旬のみだったのでautumnに含めてまいました。
kickofftime:time(キックオフ時間)が時分単位だったので、時単位に丸め。12時台、20時台は値が少ないのでそれぞれ13時、19時に。
yyyymmdd:yearとgamedayを結合
祝日フラグ:祝日は1、その他は0

→スコアは悪化し、リッジ回帰:3,767。うーん・・・

■3回目

各特長量の型をしっかり定義してみました。

→スコア:リッジ回帰で3,767 全く変わらず・・・
XGBoostでも3,551。なんか余計なことしないほうが精度が良いという結果になってしまいました泣

追記:4回目 2018/09/08

全然調べないまま開始してしまった私ですが、これ勉強会などで題材に取り上げられたみたいで、レポートを発見しました。


偉大なる先人達の考え方をパクらせて頂いて、暫定評価3,370.10641をsubmitし145位→74位 へ。

なお、私が参考にしているのは以下の本「機械学習のための前処理入門」です。

とりあえずこの一冊があれば、私のようなpythonド素人であってもとコンペで戦うことだけはできます。

更にランクを上げていくには修行が必要ですが、入門編としておすすめ。

書籍での独学が苦手という方は、千円ちょっとで学習できるUdemyのオンライン講座が安くて高品質です。

kaggleやSIGNATE挑戦記など、その他AI・機械学習関連の記事をまとめたものはこちら。

機械学習関連の記事まとめ

続きを見る

-機械学習

© 2024 あざらし情報局