LightGBMによるAI競馬予想(Pythonデータ登録)

AI競馬

PC-KEIBA Database の「Pythonデータ登録」画面は「LightGBMによるAI競馬予想(準備編)」で紹介した、予測用ソースコードの実行をソフトが全レース自動でやる機能です。さらに予測値と確率のデータをテーブルに登録するのが目的です。

作業のおおまかな流れ

「Pythonデータ登録」画面を使うための、作業のおおまかな流れを説明します。

「Pythonデータ登録」画面は有料会員限定の機能です。有料会員については「会員について」のマニュアルで解説しているので参考にして下さい。

データの分析方法を決める

LightGBMによるAI競馬予想(準備編)」の記事を読んでデータ分析の方法を決めてください。そしたら決めた分析方法の、

  1. 学習データを作る
  2. LightGBMに学習させる

までやってください。ここでは「ランキング学習」を例に説明します。

出馬表データを作る

予測させる出馬表データはイチから作るのではなく「LightGBMによるAI競馬予想(準備編)」で紹介した学習データに「レースID」と「馬番」を加えるだけのSQLです。これにはSELECT文の結果で新しいテーブルを作るSQLを使います。

今回は学習データをCSVファイルじゃなくてデータベースのテーブルに保存します。

CREATE TABLE table_name AS
SELECT~

このページの最後に、サンプルのSQLを有料会員に公開しています。ユーザーがカスタマイズして利用することも可能ですし、SQLを学習したい方の参考にもなります。

そうすると、こんな感じのテーブルが出来上がります。説明変数の前に、主キーの「レースID」と「馬番」を加えてます。

テーブル名は「myd_lambdarank_1_train」にしました。試作の学習データを複数作って比較を繰り返すことを考えて、

  • myd_lambdarank_1_train
  • myd_lambdarank_2_train
  • myd_lambdarank_3_train

と、こんな感じで番号をつけることを想定してます。

「Pythonデータ登録」画面の初期値も同じにしてます。

Pythonデータ登録のルール

Pythonデータ登録のルールは次の2つです。サンプルのソースコードそのままでイケる内容なので、特に気にする必要はありません。

  1. 学習データのルール
  2. 出力するファイル名のルール

学習データのルール

学習データ(出馬表データ)のテーブルに欠損値(null)が存在しないようにしてください。サンプルのSQLのように「coalesce」関数を使えばOK。coalesceの使い方はググればOK。

出力するファイル名のルール

予測用ソースコード(*.py)が出力する予測値と確率のファイル名は次のルールで。サンプルの予測用ソースコードそのまんまでOK。

  • yyyymmddjjrr(12桁) + “_pred.csv”
  • yyyymmddjjrr(12桁) + “_prob.csv”

ユーザーが予測用ソースコード(*.py)をカスタマイズすることは無いと思うけど念のため。

Pythonデータ登録画面の使い方

ファイルの準備

2つのファイルを準備します。今回の例では「pckeiba」というフォルダに、

  1. モデル(*.txt)
  2. 予測用ソースコード(*.py)

2つのファイルを置きます。ランキング学習の場合だと、こういう状態です。

2つのファイル以外は置かないでください。ソフトがここに色んなファイルを作ったり削除したりするので、上書きとか削除されたりする可能性があります。

「Pythonデータ登録」画面の表示

  • ツールバーの「データ」をクリックします。
  • メニューの「Pythonデータ登録」をクリックします。

「Pythonデータ登録」画面に必要な情報を入力します。

  1. 「データ分析方法」を選択。
  2. 「学習データテーブル」は先の「レースID」と「馬番」を加えたSQLであらかじめ作っておいたもの。
  3. 「予測データテーブル」はこの名前でソフトが作るもの。
  4. 「予測用ソースコード」は右側の「参照」ボタンで選択します。

「予測データテーブル」は毎回、テーブルを削除→新規作成します。

命名規則に違反するテーブル名を使うと実行時、エラーになります。PostgreSQLの命名規則はググってください。まあ、ググらんでも普通に命名すればOK(笑)

準備できたら画面右下の「開始」ボタンをクリックします。

予測(予想)させる

ソフトがレース単位で予測用ソースコードを実行してくれます。処理が終わったらこの画面は自動的に閉じるので、しばらく待ってください。

画面左下に「処理を完了しました」が表示されたら、画面右上の閉じるボタン「✕」をクリックします。

予測データテーブルを見る

A5:SQL Mk-2」で画面左側の「テーブル」のツリーを展開します。「Pythonデータ登録」画面で指定した名前の予測データテーブルが出来てることを確認します。

二値分類」と「多クラス分類」の場合は、確率の項目「prob_*」もあります。

予測データテーブルが見つからない場合

次の手順で「A5:SQL Mk-2」を再読み込みしてください。

  1. 画面左側の「テーブル」のツリーを右クリック。
  2. 「すべてのデータベース情報の再読み込み」をクリック。

シミュレーションする

あとはこの予測データテーブルを使ってシミュレーションします。

シミュレーションについては「LightGBMによるAI競馬予想(シミュレーション編)」の記事で解説しているので参考にして下さい。

SQLファイルのダウンロードと使い方

残りのコンテンツを表示するには、ログインする必要があります。 . 会員について
タイトルとURLをコピーしました