見出し画像

競馬予想支援システム開発記 #1

こんにちは、ようへいです!

自分の趣味の1つである競馬。

あるきっかけからAIを作ってみたい!と思うようになり、競馬をテーマにAIを構築。
そこから競馬にハマり、競馬予想の精度アップ、効率化を目指して、競馬予想支援システムを構築しました。
今も継続してカイゼン中です。

構築したシステムの概要は以下の記事でまとめていますので、ご興味あればご覧ください。

自分用にわざわざシステムを作ってまで競馬してる人って、日本中探すとどれだけいるでしょうか?
自分用にここまでするの?というところまで作り込んでいますが、ここまでしてる人ってそうはいないと思います。笑

記事を何回かに分けて、開発背景や奮闘した内容を書いていこうと思います。


開発背景

2019年、日本中で「AI」というキーワードが飛び交いました。

IT技術者の自分からすると
・AIって何だろう
・AIってどうやって作るんだろう
・AIってどうやって使うんだろう
という興味から、じゃあAIを作ってしっかり理解しよう!と一念発起し、AI開発を企画。

どうせ作るなら、AIが的中することで何か見返りが欲しいなぁ、という欲が出てきて競馬を予想するAIを思いつき
・競馬知見無し
・競馬データ無し
・AI開発知見無し
という真の0ベースから競馬予想AIの開発に着手しました。

システム企画時の目的と狙い

目的

的中率の高い競馬予想AIを作る

狙い

  • PythonでAIを作ることから、Pythonを習得する

  • AIの開発手法を習得する

  • 競馬のドメイン知識を理解する

企画時に参考にした書籍

PythonもAIもどちらも知識が無い状態からの開発スタートです。
ネットで小出しで検索すると、調べたいことの本質が掴めないだろうな、と思っており、まとまった情報が欲しかったので、お試しで実践しながら本を2冊読みました。

Pythonの学習

AIの構築方法の学習

システム概要

競馬予想支援システム概要
競馬予想支援システム概念図

(Canvaを使ってみたくて、不慣れですが概念図を作ってみました)

ざっくり説明

発走結果を蓄積してAIを構築し、それを利用して予想ができるシステム。
人間系でも予想ができるように、発走履歴や出馬表の分析結果の表示、Excelでのダウンロードも行える。

少しかみ砕いた説明

某サイトで公開されている発走結果を解析し、バッチ処理でシステムに登録しています。
現在では、13年分のデータがシステムに蓄積されています。

そのほか、手作業になっていますが、レース後の騎手のコメントや発走日のクッション値といったデータもレースに紐づけて管理しています。

蓄積した発走結果はAIに学習させるデータになります。
このデータを加工し、AIに学習させ、学習モデルを構築ました。

発走日の数日前に予想するレースの出馬表をバッチ処理で取込み、対象レースの情報をAIにインプットさせると、どの馬が有力馬かがわかるような形で買い目予想データ(Excel)を出力しています。

人間の頭でも予想できるように、発走履歴や出馬表の分析照会、それらのデータのExcel出力機能も備えています。

開発初期は発走結果や出馬表の取り込みと、予想AIを使った予想機能だけのバッチシステムでした。
そこから、より競馬を知りたい(色んな角度から分析できるようにしたい)、自分の弱点だったWebのUI開発も克服したいと思い、今の姿になっています。

以降の記事で奮闘記録を紹介していきます。

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