Tabnet競馬

競馬AIの作り方入門|データの準備から予想サイトの公開まで

競馬AIを作ってみたい、という人向けに、作るときの流れを説明します。Tabnet競馬を作ったときの経験をもとに、細かい手順より、「全体の流れ」と「つまずきやすい点」を中心に書きます。

全体の流れ

競馬AIを作って、サイトで見られるようにするまでは、次の6つの段階に分けられます。

  1. 何を予測するかを決める
  2. データを集めて、整える
  3. モデルを学習する
  4. 検証する
  5. 予測を、サイトから呼び出せるようにする
  6. 公開して、直しながら続ける

1. 何を予測するかを決める

最初に決めるのは、「何を出すか」です。Tabnet競馬は、「着順ごとの確率」を出すことにしました。「この馬が勝つ」と言い切るのではなく、確率の形で出します。

2. データを集めて、整える

競馬のデータは、「1行が、1頭の1レース」の表の形にまとめます。列には、前走の着順、人気、着差、今回の距離、斤量、馬場状態、馬の年齢、出走間隔などが入ります。

ここが、一番手間のかかる部分です。実際に、開発中には、数字の順番の取り違えや、略称の取りこぼしなどに、何度も出会いました。具体例は、データ処理の落とし穴6つに書いています。

データを集めるときは、集め先のサイトの利用規約を、必ず確認してください。

3. モデルを学習する

表の形のデータには、いくつかの方法があります。Tabnet競馬は、表形式データ向けのディープラーニングのモデル「TabNet」を使っています。仕組みは、TabNetとはで説明しています。

初心者が最初に試すなら、決定木をもとにしたLightGBMなども、扱いやすい選択肢です。どのモデルが良いかは、データによって変わります。

学習は、Pythonと、Jupyter Notebookなどの環境があれば、始められます。

4. 検証する

学習したモデルが、本当に使えるかを、確かめます。ポイントは、次の2つです。

  • 未来のデータで確かめる。 学習に使った期間より、あとのレースで試します
  • 基準と比べる。 オッズだけで作ったモデルのような、単純な基準より、良い結果が出るかを見ます

くわしくは、競馬AIの確率は信用できる?で説明しています。

5. 予測を、サイトから呼び出せるようにする

学習したモデルは、そのままでは、他の人が使えません。そこで、モデルを動かすサーバーを用意して、サイトから「この馬のデータを送ると、確率が返ってくる」形にします。

Tabnet競馬では、画面(フロント)と、予測を計算するサーバー(バックエンド)を、分けて作りました。

6. 公開して、直しながら続ける

公開してからも、データの更新や、不具合の修正が続きます。使う人の反応を見て、画面を直したり、説明を足したりしていきます。

サイトを作って公開するまでの流れは、noteのAIに頼んで競馬予想サイトを作った7週間の記録でも書いています。

まとめ

  • 競馬AIは、「予測するものを決める → データ → 学習 → 検証 → サイト化」の順で作ります
  • 手間がかかるのは、データを整える部分です
  • 検証は、未来のデータで、基準と比べて行います

作ったAIの結果は、Tabnet競馬の次走予想で見られます。馬券の購入は、ご自身の判断と責任で、無理のない範囲でお願いします。

あわせて読みたい

AIの予想は、次走予想で試せます。

← 記事一覧に戻る

次走予想 最新レース情報 ブログ
運営者情報 プライバシーポリシー・免責事項 お問い合わせ
広告なし会員 特定商取引法に基づく表記 利用規約
© Tabnet競馬