スポンサーリンク

競馬AIの作り方 5話 データセットの作り方①

こんにちは。Gary設計者です。

最近更新できていなくてすみません。
仕事が忙しかったり新しいモデル作成に勤しんだりウマ娘に夢中になっていて時間を作れていませんでした。
競馬AI作成のモチベーションも落ちてきており、更新頻度落ちてきそうです。。。すみません。


今回はAI作成に必要なデータ収集方法を紹介します。
まだ過去の投稿を見てない方はそちらからお読みください。

競馬AIの作り方 0話 はじめに
競馬AIの作り方 1話 AI Toolの紹介
競馬AIの作り方 2話 AIの勉強方法
競馬AIの作り方 3話 AIを作ってみよう
競馬AIの作り方 4話 データ収集

今回は前回収集したhtmlからデータセットのひな型を作るやり方を説明します。

Neaural Network Consoleに合わせてcsvでデータセットを作成します。

データセットのフォーマット

最初にデータセットのフォーマットを決定します。

とりあえず競馬予想に影響しそうなデータは全て入れておくことをオススメします。

後からデータを使わないことはできますが、データを追加するとなると0から作り直す必要があるため中々大変です。

Neural Network Consoleでは1次元のデータを1回の予想データとして扱います。

もし2次元のデータを使うときは別のcsvファイルで2次元データを作成し、データセットには2次元データのcsvファイルのパスを記述します。

詳細はNeural Network Consoleの説明書を読んでください。

ここではサンプルとして下記のデータ列を持つデータセットを作成します。

ファイル名 競馬場 距離 右回り/左回り 天気 馬場 馬1 馬2 ・・・ 馬16 騎手1 騎手1 騎手2 ・・・ 騎手16 勝ち馬番

ここで馬1や騎手1は馬番が1に入った馬や騎手のデータが入る列になります。

ファイル名は予測のデータとしては使いませんが、デバッグ用に記載があると後々便利です。

では、実際にデータセットを作っていきましょう。

最初に競馬場のデータの作り方を説明します。

前回保存したレースのhtmlのルールは

レース開催の年をyyyy、月をmm、日をdd、競馬場をRR、レース数をNNとするとurlは下記の法則になっています。
https://db.netkeiba.com/race/yyyyRRmmddNN/

つまりどの競馬場でレースを行っているかは保存したhtmlのファイル名から引き抜けばOKです。

次に距離ー天気までのデータの作り方を説明します。

各レースのhtmlを表示すると、距離ー天気までの情報は下記にまとまっています。

レースの情報(Web表示)

html上では下記の部分になります。

レースの情報(html)

ここから情報を引き抜けばOKです。

次に馬と騎手のデータの作り方です。

ここはかなり工夫が必要で、競馬AIのオリジナリティが出る部分だと思います。

騎手のデータを例にすると

過去のレースから勝率を計算してデータにするか

AIに騎手毎の名前だけを教えて、騎手の強さはAIに学ばせるかなどによりAIの特性が変わってきます。

#もちろん両方いれるもOKです。

続きの説明は次回までお待ちください。

#次の更新がいつになるやら・・・

コメント

  1. うさぎのくろちゃん より:

    最近更新されていないのでどうしたのかと思っていました。
    自動投票もやめたとありましたが、とても良い精度なので、やめなくてもと思って島ます。
    私は頭の中で、ああでもない、こうでもないと、紋々と考えていて、手が動かない状態です。
    今回も参考になりました。手の内を教えていただいてありがとうございます。
    世の中にはいろいろな人がいますが、いちいち反応していたら、大変です。
    最後は自分なので、お互い積極的にやりましょう!
    負けないように頑張って開発を進めます。
    引き続き、いろいろと教えてください。
    楽しみにしていますので、よろしくお願いいたします。

    • keiba-gary より:

      更新停止はただのモチベーション低下ですね。。。
      自動投票で勝つには税金問題もクリアしなければいけないんですよね。
      税金で問題にならなくするためには安定して勝ち続ければいけないです。
      今の買い目だと波が荒いので、安定して勝てる買い目を模索中という段階です。

      お互いAI開発頑張りましょう!
      また有益な情報が発信できるように更新していきます。

  2. うさぎのくろちゃん より:

    keiba-garyさん
    おひさしぶりです。2年近くコメントを書いておりませんでした。
    ゆまさんの公開が終了したのでkeiba-garyさんの情報が参考になると思って今も見ています。
    今も、AIのエンジン(ライブラリ)はソニーさんのエンジンでしょうか。
    ※有料になっているようなので。
    開発でちょっと悩んでいるのはkeiba-garyさんのように全頭をベースにした1着確率を出せずにおりました。(全頭の1着確率の数値を足すと100になる評価方法)
    なにかヒントになるようなことがありましたらと思ってコメントしております。
    スコア型だと下位の評価が高くなってしまってダントツの馬の評価が相対的に下がってしまってよい買い目がだせずに困っていました。
    虫の良い話でお気に障ったらすみません。
    よろしくお願いいたします。

タイトルとURLをコピーしました