RCC 2020 年度競馬 AI 班
競馬の 1 着のみを予測する 競馬 AI のレシピです
少量の特徴量から DNN を用いて予測する軽量な 競馬 AI を体験できます
- Ubuntu 20.04
- Python ~> 3.8.0
- TensorFlow 2.2
軽量版競馬 AI レシピと,競馬データ(サブセット)を用意します
デモ用軽量版競馬 AI レシピをダウンロードして展開する
$ pip install -U pip
$ pip install -r requirements.txt
- サブセットをダウンロード
- 展開し,json ファイルを data/ 配下にコピー
$ cp -ip "サブセット/*.json" data
$ ./train.py
1 レースは 21 頭の競走馬が競うものとし,その中から 1 着を予測する
- 64 nodes の feed-forward 層(ReLU,Dropout 率:0.1)
- 128 nodes の feed-forward 層(ReLU,Dropout 率:0.4)
- 256 nodes の feed-forward 層(ReLU,Dropout 率:0.4)
- 21 nodes の feed-forward 層(softmax)
特徴量は,レース特徴と競走馬特徴を用いる
下記の 3 項目をレース特徴とする
- 馬場状態:芝 or ダート
- 距離:[m]
- 天気:晴 or 曇 or 雨
21 頭の競走馬それぞれが下記の 7 次元ベクトルの特徴をもつ
- 枠
- 性別:牡 or 牝 or セ
- 年齢
- 単勝オッズ
- 体重
- 体重増減
- 斤量
上記のレース特徴(3 次元)と,競走馬特徴(7 次元*21 頭)を合わせた 150 次元のベクトルを特徴量とし,DNN へ入力する
この入力ベクトルから,1 着競走馬のクラスタリング問題として予測を行う