競輪担当 architectです。
競輪予想システム(名前募集中)の第一弾をリリースする事ができました!
元々4月末までのリリースを目指して開発していましたので、ギリギリ予定どおりリリース達成です。
【どんなシステム?】
さて、今回の予想システムですがもちろん機械学習(一般的ににいうAI)で開発しています。
具体的には12の学習モデル(1)の中から、違う評価方法で優秀な3つのモデルを選抜して
さらにその3つのモデルの予想結果を合議して予想を立てています。
(1)評価した12の学習モデル
0 WeightedEnsemble
1 NeuralNetFastAI
2 XGBoost
3 LightGBMXT
4 LightGBMLarge
5 LightGBM
6 NeuralNetTorch
7 ExtraTreesGini
8 ExtraTreesEntr
9 RandomForestEntr
10 KNeighborsUnif
11 RandomForestGini
12 KNeighborsDist
学習データは40万行のレース結果データです。
また、4万行のレース結果データを学習データとは別にテスト用データとして用意して使っています。
【予想結果は2車複】
なお、1位か2位に入る選手はどれ?という予想の建て方をしているので、基本2車複になります。
あと3選手の予想が出ていれば3連単でもいいと思います。
【予想は堅実派】
傾向としては穴は狙わず、かなり固めの予想しかしない子です!
確かに当ててなんぼですしね!
なので、自信が無い場合はそもそも予想自体出力されないです。
予想に自信が無ければ手出ししないとこ。ってスタンスです。
【学習時間が長すぎ問題】
開発当初は割と簡単に開発できそうと思ったんですが
けっこう紆余曲折がありました。
まずは学習モデルですね。何を使うか・・・これ選択肢多すぎなんですよ
NLP(自然言語処理)界隈ならTransformers一択なんですが
今回みたいなケースはまだまだ王道が無いんすよね…
なので複数評価して一番いいのにする!という結論に達しましたが
これ、学習時間をめちゃめちゃ食うのでマシン代と時間が膨れ上がるんですよね。
これは反省です。
とはいえ何とか予想システムができましたのでめでたしです。
by architect
Comments are closed