本記事は割引/還元キャンペーン対象です割引適用へ
BOOKERS
競馬予想プログラムソフトの開発をしている者です。今回は第一弾から第三弾記事を使って作った競馬予想モデルを分析できるWEBアプリを公開します。
サンプルデータも提供しますので、モデルのインポートからモデルの分析までWEBアプリの動作を確認できるようにしています。
チャンネル登録で無料で入手できます。
以下記事で、競馬データのスクレイピングから、データの前処理、機械学習モデルの作成、モデル分析用WEBアプリの4機能を有したソースを全て公開しました!
こちらの記事を購入される場合は、全体ソースを入手して頂く方が、今後も全体ソースのバージョン更新予定なので、ぜひご検討ください。
私は、競馬予想プログラムソフト開発を通して、データサイエンスの勘どころを掴みつつソフト開発の経験もできる教材を目指している者です。
今回は、その競馬予想プログラムソフト開発の第四弾となる、競馬予想AIモデル分析基盤となります。
また、競馬予想プログラムソフトとは「データ収集」「データ前処理」「モデル作成」「モデル分析」をひとまとめにしたもので、本記事ではその中のモデル分析を支援するWEBアプリとなります。
競馬予想プログラムソフトの制作過程は、以下の動画シリーズでどういった目的でどういったものを作っているのかを解説しています。気になる方はぜひご覧ください。
また、競馬予想プログラムソフトとは「データ収集」「データ前処理」「モデル作成」「モデル分析」をひとまとめにしたもので、本記事ではその中のモデル分析を支援するWEBアプリとなります。
競馬予想プログラムソフトの制作過程は、以下の動画シリーズでどういった目的でどういったものを作っているのかを解説しています。気になる方はぜひご覧ください。
- Pythonを使っている方
- 競馬予想がしたい方
- Djangoを使ったWEBアプリに興味がある方
- 競馬予想AIを作成している方
本ソースはPythonの勉強素材を主目的としています。現状のWEBアプリは競馬予想AIのモデルの分析をするにはどうすれば良いかという課題に対して、ひとつに解決策を提供するものであり、これを手にすれば競馬予想でぼろ儲けできることを保証するものではないことご承知おきください。
題記の通りですが、半分語弊があり私が管理運営しているサイトで本WEBアプリの作り方を機能ごとにソースを示しながら解説しています。
良ければ、立ち寄ってください。
良ければ、立ち寄ってください。
- パート4:モデル一覧のリスト表示の作成まで
- パート5:モデル選択機能と分析画面ページの開発
- パート9:モデル情報一覧確認画面の開発
- パート10: オッズグラフスコア確認画面の開発
本記事と上記解説記事シリーズとの差は、本記事では上記10本の記事で開発した内容をひとまとめにしたソースを無料で公開するところです。
上記の記事シリーズを元にWEBアプリの開発の仕方を学びたい方は自力で開発を、WEBアプリの開発は一旦置いといて、すぐにWEBアプリを触ってみたいという方は、本記事のソースをお使いください。
動作環境とは、現状動作確認ができている環境ということです。Windowsで開発していますが、おそらくMacやLinuxでも動くはずです。
PC環境
- Windows 10 pro
- メモリ32GB
- Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz 3.30 GHz
Python環境:バージョン 3.10.5
ブラウザ
- Chrome
- Edge
以下に必要なパッケージをリストします。pandasとか近々バージョンが変わりそうな気配なので、バージョンも明示的に指定してpipインストールすることをおすすめします。
※購入された方で、パッケージのバージョン依存によるコマンドエラーが起きた場合は対応出来かねますので、なるべく揃えていただけると問題があった際にフォローしやすいかと思います。。。
※購入された方で、パッケージのバージョン依存によるコマンドエラーが起きた場合は対応出来かねますので、なるべく揃えていただけると問題があった際にフォローしやすいかと思います。。。
- pandas==2.1.1
- numpy==1.26.1
- requests==2.31.0
- django==5.0.4
- djangorestframework==3.15.1
- django-markdownx==4.0.7
- django-crispy-forms==2.1
- crispy-bootstrap5==2024.2
- django-markdownify==0.9.3
- gviz_api==1.10.0
本WEBアプリは、私がこれまでに投稿してきた競馬予想プログラムのソースで作成されるモデルを分析することを目的にしています。
サンプル用のモデルは提供しますが、実際にモデルを作成して学習結果の分析をしたい場合は、以下の3つの記事を購入していただくか、後日公開予定の第5弾記事をご購入ください。
第5弾記事は、本記事のようにzipでソースをダウンロードできるようにしますので、コピペ作業等の面倒な手間は省いています。
いち早くソースが欲しいという方は、第1弾記事~第3弾記事をお買い求めください。
第5弾記事は、本記事のようにzipでソースをダウンロードできるようにしますので、コピペ作業等の面倒な手間は省いています。
いち早くソースが欲しいという方は、第1弾記事~第3弾記事をお買い求めください。
第一弾
第二弾
第三弾
第五弾
後日公開予定です。(6月1日時点)
後日公開予定です。(6月1日時点)
どういった手順で環境を準備し、どうやってWEBアプリを起動すれば良いか、そしてどうやってモデルを分析すれば良いかについて、実際に動きを見て確認したい方は、以下の動画を参照してください。
以下では、動画でも解説した手順を示しています。動画を見ながら環境作成・WEBアプリの起動・サンプルモデルのインポート・サンプルモデルの分析が出来ている方は読み飛ばして大丈夫です。
1.python 3.10.5がインストール済で、pythonコマンドがコマンドプロンプト/ターミナル上で実行できることを確認してください。
【確認方法】コマンドプロンプト/ターミナル上で以下のコマンドを実行
【出力内容】 Python 3.10.5
python -V
【出力内容】 Python 3.10.5
2.必要なパッケージのインストール
「2.4 必要なパッケージのインストール」で列挙しているパッケージをpipでインストールしてください。
インストール方法が分からない方は「pip インストール 方法」で検索したり、ChatGPTに聞いてみてください。
「2.4 必要なパッケージのインストール」で列挙しているパッケージをpipでインストールしてください。
インストール方法が分からない方は「pip インストール 方法」で検索したり、ChatGPTに聞いてみてください。
3.本ソースのzipを解凍
本記事の末尾にある有料コンテンツ(*1)の「um-AI_ver_0_15.zip」をダウンロードしていただき、任意のフォルダに解凍してください。
(*1):Bookersの会員登録をしていただき、本チャンネルを登録して頂ければ無料で入手できます。
本記事の末尾にある有料コンテンツ(*1)の「um-AI_ver_0_15.zip」をダウンロードしていただき、任意のフォルダに解凍してください。
(*1):Bookersの会員登録をしていただき、本チャンネルを登録して頂ければ無料で入手できます。
解凍して展開されたフォルダを開くと以下の画像のようなフォルダ構成になっているかと思います。

um-AI.zip解凍後のフォルダ構成
- 01_SAMPLE_MODEL : サンプルモデル格納場所。空フォルダです。
- 02_WEB_APP : um-AIのメインソースです。
- 03_TEMPLATE_MODEL : サンプルモデル作成用のテンプレート情報が入っています。
- setup_sample_models.py : サンプルモデル作成用のコードです。実行するとサンプルモデルが5個作成されます。
上記3フォルダは絶対にフォルダ削除、及びフォルダ名の変更はしないでください。予期しない動作をする可能性があります。
以上で、WEBアプリを動かすPython環境が完成しました。
1. コマンドプロンプト/ターミナルを起動してください
2. コマンドプロンプト/ターミナルのカレントディレクトリが、setup_sample_models.pyファイルがあるところにしてください。
3.以下のコマンドを実行してください。
4.01_SAMPLE_MODELのフォルダを参照いただき以下のようなフォルダ構成になっていることを確認ください。
2. コマンドプロンプト/ターミナルのカレントディレクトリが、setup_sample_models.pyファイルがあるところにしてください。
3.以下のコマンドを実行してください。
python setup_sample_models.py
4.01_SAMPLE_MODELのフォルダを参照いただき以下のようなフォルダ構成になっていることを確認ください。

01_SAMPLE_MODELフォルダ内容
以上でサンプルモデルの作成完了です。
1.コマンドプロンプト/ターミナルを起動
2.コマンドプロンプト/ターミナルのカレントディレクトリを「02_WEB_APP」にしてください。
3.db.sqlite3ファイルがないことを確認
2.コマンドプロンプト/ターミナルのカレントディレクトリを「02_WEB_APP」にしてください。
3.db.sqlite3ファイルがないことを確認

02_WEB_APPフォルダの内容
4.以下のバッチファイルを実行してDBファイルを作成ください。
Windowsの方のみです。
Mac, Linuxの方は以下を実行
Windowsの方のみです。
01_model_migration.bat
Mac, Linuxの方は以下を実行
python manage.py makemigrations
python manage.py migrate
5.項番3と同様に確認し、「db.sqlite3」ファイルが作成されていることを確認してください。

02_WEB_APPフォルダの内容
6.以下のコマンドを実行し、um-AIのWEBアプリを起動してください。
Windows の方のみです。
Mac, Linuxの方は以下を実行
02_run_server.bat
Mac, Linuxの方は以下を実行
python manage.py runserver
7.コマンドプロンプト/ターミナルの表示が以下のようになっていることを確認し、http://localhost:8000へアクセスしてください。

項番6を実行した後のコマンドプロンプト/ターミナルの表示内容
8.ブラウザ上に以下の画面が表示されていれば、um-AIの起動が出来ています。

um-AIの起動画面
1.um-AIのWEB画面から「モデル管理」タブをクリック。以下の画像になっていればOKです。

モデル管理画面
2.「モデル登録」を押下し、表示される「登録フォーム」の各種項目に情報を入力してください。
登録フォーム画面
また、赤線を引いている箇所は「01_SAMPLE_MODEL」フォルダ配下にある「model_001」フォルダ内の「model_info.json」を選択してください。

model_info.jsonの場所
3.「登録フォーム」の「送信」ボタンを押下し、以下画像のようにモデル一覧にモデルが表示されていることを確認してください。

モデルインポートが成功
4.「01_SAMPLE_MODEL」フォルダ内の「model_002」~「model_005」のサンプルモデルも同様にインポートしてください。
インポートし終えると、以下の状態になっているかと思います。
インポートし終えると、以下の状態になっているかと思います。

全てのサンプルモデルがインポート完了
以上でサンプルモデルのインポートが完了です。
1.um-AIの「モデル分析」タブをクリック。以下の状態になっていればOKです。

モデル分析メイン画面
2.「モデル選択」をクリックすると、Target ModelsとBase Modelを選択できるサイドバーが出現します。
モデル選択画面
3.適当にTarget ModelsとBase Modelを選択し「Start Analyze」をクリックしてください。Target Modelsは少なくとも一つ選択し、Base Modelは未選択でもOKです。
モデルを選択
4.Start Analyzeクリックで「分析モード」が選択できることを確認

分析モード活性化
5.分析モードをクリックすると、サイドバーが出現します。

分析一覧画面
6.モデル情報一覧確認画面を表示。アコーディオンを開くと「表示」ボタンが出てくるのでクリック

モデル情報一覧確認画面の表示ボタンの確認
7.モデル一覧画面が表示されることを確認
モデル一覧画面
本画面の機能は、以下の動画を確認ください。
8.基礎分析画面の確認
「分析モード」をクリックし、基礎分析画面を表示ください。
基礎分析画面の表示にはしばらく時間がかかります。
「分析モード」をクリックし、基礎分析画面を表示ください。
基礎分析画面の表示にはしばらく時間がかかります。

基礎分析画面の表示ボタン確認
9.以下のモデルの基礎分析画面が表示されていればOKです。
赤矢印で指示している箇所で、適当にセレクトボックスを選択して「描画」してみてください。
赤矢印で指示している箇所で、適当にセレクトボックスを選択して「描画」してみてください。
基礎分析画面の確認
基礎分析画面の機能については、以下の動画を確認ください。
10.オッズグラフスコアの確認画面の表示。
同様に「分析モード」から、オッズグラフスコアの確認画面を表示してください。
同様に「分析モード」から、オッズグラフスコアの確認画面を表示してください。

オッズグラフスコアの確認の表示ボタン確認
11.以下のようなオッズグラフが表示されていればOKです。
OGSレポート画面の確認
また、本競馬予想プログラムソフトでは、このオッズグラフを元にして評価したオッズグラフスコアを用いて競馬予想AIのモデルを推し量ります。
オッズグラフスコアの解説は以下の動画を参照ください。
オッズグラフスコアの解説は以下の動画を参照ください。
以上でモデルの分析方法の解説は以上です。お疲れ様でした。
最後に本記事を扱う上での留意事項です。無料公開とはいえ、入手される際には以下の項目に同意したものとします。
- 本ソースは商品ではなく勉強目的で使用されることを想定して作成しました。バグ取りは十分できていないので、購入者様側でバグ対応をしていただく必要があります。
- 本ソースを使用したことによって、購入者様に不利益や違法行為があった場合でも本ソース作成者は一切の責任を負わないことご承知おきください。
- 基本的にはソースをダウンロードすれば動くプログラムになっていますが、内容を理解したい場合はPythonの入門書レベルの文法を理解していることを前提としています。
項番1については、プログラム書く以上バグは絶対に直面するものです。挫けずにバグ対応しましょう。必ず良い勉強機会になります。
エラー内容をコピペして調べると、必ずどこかで同じ目に合っている人がいます。そしてそれを解決してくれる通りすがりのプログラマが答えやヒントを出してくれています。わからなければまずは調べることを徹底してください。頑張りましょう。
エラー内容をコピペして調べると、必ずどこかで同じ目に合っている人がいます。そしてそれを解決してくれる通りすがりのプログラマが答えやヒントを出してくれています。わからなければまずは調べることを徹底してください。頑張りましょう。
これから今回のような競馬予測ソフトを開発の工程や実際のソース公開をリアルタイムで更新していきます。
YouTubeでソースのエッセンス部分の紹介、運営サイトでソースの重要な処理部分の紹介をしているので、良ければYouTubeや運営サイトも立ち寄っていただけると嬉しいです!
Twitter(自称X)もやっていますので、フォローよろしくお願いします!
また今回の記事は、YouTubeのチャンネル登録していただけると、本記事のソースを無料で入手できます。
YouTubeでソースのエッセンス部分の紹介、運営サイトでソースの重要な処理部分の紹介をしているので、良ければYouTubeや運営サイトも立ち寄っていただけると嬉しいです!
Twitter(自称X)もやっていますので、フォローよろしくお願いします!
また今回の記事は、YouTubeのチャンネル登録していただけると、本記事のソースを無料で入手できます。
この続き:99文字
Sponsored Link
無料!競馬予想AIモデル分析基盤um-AI
ゆっくりデータサイエンス
1000円
もしくは