まず要点
競馬AIの最初のBaselineを、学習に使っていない DEVELOPMENT_TEST で実測しました。
対象は **1,570レース / 20,980頭**。
- Log Loss: **0.263611**
- Brier Score: **0.068907**
- Weighted Calibration Gap: **0.000668**
- 各レースの最高勝率馬が勝った割合: **122 / 1,568 = 7.78%**
面白かったのは、**予測した確率水準は実際の勝率にかなり近い一方、どの馬が勝つかをレース内で見分ける力はまだ弱かった**ことです。
確率帯を見るとかなり近い
10%未満の馬では、
- 平均予測勝率: **6.923%**
- 実勝率: **6.963%**
10〜20%では、
- 平均予測勝率: **12.131%**
- 実勝率: **11.858%**
でした。
確率の校正と、レース内で勝ち馬を上位に置くことは別問題だと、実データではっきり見えました。
実レースではどう出たか
2025年12月20日の13頭立てでは、1番が **8.06%**、13番が **7.33%**。勝ったのは13番でした。13番のFair Oddsは **13.63** です。
別の10頭立てでは、1番 **10.35%** に対して勝ち馬8番は **9.80%**。
8頭立てでは、1番 **12.84%** に対して勝ち馬4番は **12.55%** でした。
馬ごとの差が非常に小さいことが分かります。
なぜこうなったのか
現在のBaselineが主に使っているのは、
- 開催場
- 芝/ダート
- 距離
- 馬番
です。
近走成績、騎手、調教師、タイム、上がり、血統、人気などはまだ入っていません。
そのため今回の結果は、強い予想モデルの完成ではなく、**今後の特徴量追加を比較するための基準点**です。
評価データの扱い
データは、
TRAIN → VALIDATION → CALIBRATION → DEVELOPMENT_TEST → FINAL_HOLDOUT
に分けています。
今回実測したのは DEVELOPMENT_TEST だけで、FINAL_HOLDOUT は未使用のままです。
次からは、このBaselineに情報を追加したとき、1,570レースで出た今回の数字から何がどう変わるのかを追っていきます。