TOP
ログイン 新規登録
【競馬予想プログラムソフト#3】コピペOK!モデル管理分析クラスver 0.2 2 テクノロジー

競馬予想プログラムソフトの開発をしている者です。ここではモデルを管理および分析するクラスになります。

クラスの使い方のサンプルコードはNotebookで個人サイトに公開しています。

0.全ソースを公開しました!

以下記事で、競馬データのスクレイピングから、データの前処理、機械学習モデルの作成、モデル分析用WEBアプリの4機能を有したソースを全て公開しました!
https://bookers.tech/post/d0aa21b5-1dea-4a61-a0ae-079499f694d9
こちらの記事を購入される場合は、全体ソースを入手して頂く方が、今後も全体ソースのバージョン更新予定なので、ぜひご検討ください。

0-2.更新歴

Version 0.2:  2024/04/18
  • モデルエクスポート機能の追加
  • 複数馬券対応のために新規クラスの作成
Version 0.1.1: 2024/04/08
  • code 5の一部を修正しました。

1.はじめに

私は、競馬予想プログラムソフト開発を通して、データサイエンスの勘どころを掴みつつソフト開発の経験もできる教材を目指している者です。
今回は、その競馬予想プログラムソフト開発の第三弾となる、モデル管理分析クラスの実装となります。
モデル管理分析クラスの概要およびソフトの開発工程については、以下の動画シリーズを参照ください。
https://youtube.com/playlist?list=PLru9t7T3rNmHqdHWZyFAskDuvQTHRYoao&si=Va51Vs3GXqGCco4c

2.前提事項

2.1, 2.3について

基本は第一弾~第二弾で公開した2.1節~2.4節と同じです。購入される場合は、事前に環境と競馬データ2010年から2023年分をご用意してください。
第一弾記事↓
https://bookers.tech/post/82ee8cf4-e95d-4f67-8cef-c038dbe0c957/
第二弾記事↓
https://bookers.tech/post/8c77f8be-6a3c-495f-9cfa-7a986ec35335/

2.2 ソースコードのサンプルコードの共有

今回作成したクラスのおおよそのアイデアは、以下の記事でファーストモデルを作成したときのソースになっています。
今回のクラスの使い方のサンプルコードもNotebook形式で記事にしています。
上記のサイト記事を参考に自力でできる場合は、ご自身で作成ください。

2.4 必要なPythonパッケージ

第一弾~第二弾であげたものと追加でさらに増えています。
差分を出し続けるのも追うのが大変だと思うので、以下に必要なパッケージを一覧に出します。
  • pandas==2.1.1
  • numpy==1.26.1
  • tqdm==4.66.1
  • Beautifulsoup4==4.12.2
  • requests==2.31.0
  • loguru==0.7.2
  • lightgbm==4.1.0
※購入された方で、パッケージのバージョン依存によるコマンドエラーが起きた場合は対応出来かねますので、なるべく揃えていただけると問題があった際にフォローしやすいかと思います。。。

3.プログラム仕様

3.1 フォルダ構成

以下プログラム動作時に前提となるフォルダ構成です。事前に記載のあるフォルダは作成していただくようお願いします。
また、「※」がついているファイル/フォルダが今回新規で作成されるものです。「◎」がついているファイル/フォルダは前回から更新があったものです。
それ以外のものは、前回分までのソースで作成されたものです。前提となるファイルもあるため、ご注意ください。
中括弧「<>」でくくられているのがフォルダ名。それ以外はファイル名です。また、<any-dir>任意のフォルダ名です。作業用フォルダなので、お好きな名前にしてください。有料記事部分では、この各種ファイル(◎1, ※2~※5)の中身を上から順番に列挙しています。ソース内にコメントを残していたりいなかったりしていますが、なるべく1機能1メソッド単位で作成しているので、内容を理解したい方はぜひ読み込んでみることをおすすめします。

3.2 実行したらどうなる?

運営サイトに載せているサンプルコードを実行すると、<any-dir>/<models>にモデル情報が保存されます。
サンプルコードにある各ログの出力を見れば、どのようなことをしているか分かるかと思います。

4.有料範囲の内容

有料範囲では、3.1で説明したフォルダ構成で◎マークと※マークがついているファイルのソースを上から順に列挙しています。
すべてで5コードになります。
コード量は以下表を参照ください。配置先フォルダは上記フォルダ構成にあるフォルダ名に準拠しています。
Add row above
Add row below
Delete row
Add column to left
Add column to right
Delete column
配置先フォルダ
ファイル名
コードのみ行数
概要
<any-dir>/<src>/<core>/<util>
data_operator.py
29行
データ処理を行う関数がまとめられています。更新対象ファイルです。
<any-dir>/<src>/<data_manager>
dataset_tools.py
120行
データセット作成用のベースクラスがあります。データセットの管理・作成を担います。
<any-dir>/<src>/<data_manager>/<meta>
save_file_meta.py
9行
保存するファイル名を管理するだけのクラスです。
<any-dir>/<src>/<model_manager>
base_manager.py
736行
ベースモデルの管理分析を行うクラスです。本ソースのメインプログラムです。
<any-dir>/<src>/<model_manager>
lgbm_manager.py
346行
LightGBMモデルの管理分析を行うクラスです。本ソースのメインプログラムです。
<any-dir>/<src>/<core>/<util>
bet_name_meta.py
34
Ver 0.2から追加。馬券種を管理するクラス
クラス定義等はオブジェクト指向フル無視のなんちゃってクラス定義になっています。
個人開発レベルのものなので特に自分は気にしない派ですが、宗教上の理由でどうしても許容できない方は適宜修正ください。

5.留意事項

有料記事を購入検討されている方へ、購入する前にご一読ください。
本記事を購入された際は以下の留意事項に同意したものとします。予めご了承ください。
  1. 本ソースは商品ではなく勉強目的で使用されることを想定して作成しました。バグ取りは十分できていないので、購入者様側でバグ対応をしていただく必要があります。
  2. 本ソースはコピーガードされていません。ご自由にコピペしてお使いください。
  3. 本ソースを使用したことによって、購入者様に不利益や違法行為があった場合でも本ソース作成者は一切の責任を負わないことご承知おきください。
  4. 基本的には写経すれば動くプログラムになっていますが、内容を理解したい場合はPythonの入門書レベルの文法を理解していることを前提としています。
 項番1については、プログラム書く以上バグは絶対に直面するものです。挫けずにバグ対応しましょう。必ず良い勉強機会になります。
 エラー内容をコピペして調べると、必ずどこかで同じ目に合っている人がいます。そしてそれを解決してくれる通りすがりのプログラマが答えやヒントを出してくれています。わからなければまずは調べることを徹底してください。頑張りましょう。

6.宣伝

これから今回のような競馬予測ソフトを開発の工程や実際のソース公開をリアルタイムで更新していきます。
YouTubeでソースのエッセンス部分の紹介、運営サイトでソースの重要な処理部分の紹介をしているので、良ければYouTubeや運営サイトも立ち寄っていただけると嬉しいです!
Twitter(自称X)もやっていますので、フォローよろしくお願いします!
また、YouTubeのチャンネル登録していただけると、1000円引きで購入できます

7.実際のモデル管理分析クラスのソース:コピペOK!!

4章で説明した内容通りに順番にコードを列挙していきます。
フォルダ構成ファイル名ソース内容すべてにおいてタイピングミスおよびコピペミスには十分お気を付けください。

また、本ソースはコピーガードされていないので、ご自由にコピペしてお使いください。

この続き:51038文字

【競馬予想プログラムソフト#3】コピペOK!モデル管理分析クラスver 0.2
ゆっくりデータサイエンス
1750円

もしくは