競馬予想支援システム開発記 #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開発も克服したいと思い、今の姿になっています。
以降の記事で奮闘記録を紹介していきます。
この記事が気に入ったらサポートをしてみませんか?