3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【第9回】Python で競馬予想してみる ~ モデルの実用化 ~

Posted at

前回までに、競馬予想のモデルの骨格は完成なのだ

#モデルの実用化
実際に予想する際の作業も、基本的にはほぼ同じ。

  • TARGET frontier JV の出馬表から、馬データおよび前走データも読込み、全データを CSV で出力し使用
  • 機械学習時と同じ様にデータの前処理を実行(レース検索から得られるデータとカラム名などが微妙に違うので、若干の修正必要。ここで案外手間取る💦)
  • トレーニングデータと検証データの時に行った時系列でのデータ分割。アンダーサンプリングは、当然しない
  • 回収率用テーブルを修正して、レース毎、Proba順にソートしてグラフ化(下の表:proba は、標準化・正規化してグラフで見やすいように 1~100 に収まるように調整)

2020-12-20.png

ー レース毎に横棒グラフ化:コードとして適切かどうか分らんが、下記コードで成功

build.ipynb
# グラフを降順に表示するには、元データを昇順にしなければならないらしい
rc_rslt_r = rc_rslt.sort_values(['レースID', 'proba'], ascending=[True, True]).reset_index(drop=True)
race_lists = rc_rslt_r['レースID'].unique()
for race_list in race_lists:
    ax = rc_rslt_r[rc_rslt_r['レースID']==race_list].reset_index(drop=True)
    plt.figure(figsize=(20,12))

    ax.plot(kind='barh', x='馬番', y='proba_std01')
    #rc_rslt.hist(column='proba_std01', by="レースID", range=(0,1), figsize=(12,3))

    race_corse = ax['場所'][0] + str(ax[''][0]) + 'R' # もっとスマートな値の取得法ないかな?
    plt.title(race_corse, fontname='MS Gothic')
    plt.xlabel('proba')
    plt.ylabel('馬番', fontname='MS Gothic')
    plt.xlim([0,100])
    plt.grid(True)

    plt.show()

    plt.close('all')

※項目名の日本語表記は何とか出来たが、馬番ではなく馬名を表示したいのだが・・・
 良い方法あるのかな

ちなみに、2020年12月20日の朝日杯の予想はこんな感じ
image.png

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?