【NBA予想】機械学習に挑戦してみる~その0~

お久しぶりです、P@ブックメーカーです。
一ヶ月近く投稿があいてしまいましたが、一応毎日Betは続けていました。
結果はどうなっているかというと、前回投稿後も負けが続き、一度±0uまで行ってしまいました。しかしそこからリバウンド予想にしぼることでなんとか連敗を脱出し、再度+15uまで戻し現在は+12uとなっています。

さて、唐突ですがリバウンド以外の予想がまったく当たらないことに腹を立てたため、機械学習によってホームチームが勝つか負けるかを予想するモデルの構築に挑戦することにしました。
機械学習はまったく経験がないため手探り状態になると思いますが、前から勉強してみたかったのでちょうど良い機会だと思っています。
手法としてはちょっと前まではXGBoostが流行っていたみたいですが、最近はLightGBMがイケてるようなのでLightGBMでやってみようと思います。

今回構築するモデルの目的変数と説明変数は以下です。
目的変数:ホームチームが勝つ(0)/負ける(1)
説明変数:NBA.comからかき集めたデータ+α

データはNBA.comからスクレイピングしてきて使用します。+αについては、今まで予想してきてBack to Backの影響は大きいと感じていたため、その情報を盛り込んでいます。

この0~84までの項目については、以下の8種類のデータを用意します。
・シーズン開始から試合前日までのデータ
・シーズン開始から試合前日までのホームのみのデータ
・試合前日から10日前までのデータ
・試合前日から20日前までのホームのみのデータ
・上記の相手チームとの差(相手チームの場合はホーム→ロードとする)

シーズン全体と直近、またホームとロードでパターン分けしています。やっぱり最近調子落ちてきてるとか、ロードのほうが勝率良いとかありますからね。

機械学習するにはデータが必要なため、過去シーズンのデータをトレーニングデータ、今シーズンのデータをテストデータにしようと思います。
スクレイピングするプログラムはほぼ作り終わっているため、あとはぶん回して大量のデータを取得していきます。Webプログラミングに疎いため、JavaScriptで表示されるテーブル情報を取得するためにわざわざブラウザを起動させているので時間がかかるんですよね\(^o^)/ 
他にいい方法ないのかなぁ。。。

さて、次回はデータ揃い次第の更新になります。ではでは~。


この記事が気に入ったらサポートをしてみませんか?