機械学習を実生活に(その3)
どーも管理人です。
機械学習を実生活にの第3回です。
今回は実際に参戦してみるわけですが、いくつかのルールを課しておきます。
管理人は貧しいので投入できる資金は限られています。
大きく勝つことは構いませんが、大きく負けることは避けなければいけません。
実生活に支障が出てはいけませんからねっ。
というわけで、
1.1レースは上限500円まで。これにより1日12レースに投入する金額は6000円までにします。
2.資金が33.3%(2000円)マイナスになったらそれ以上は参戦しません。つまり資金が4000円を切ったらやめます。
3.同様に33.3%(2000円)プラスになったら利益を確定します。ただし、33.3%以上の利益が出た場合は、その分だけ参戦してもよい。要するに資金が8000円以上に増えたらその分は使っても良い。
4.大きなレースは避ける。基本的にGⅠレース等は荒れそうな気がして(そういうデータがあるわけではありませんが)予測が難しそうなので。ただそうすると、土曜日が中心になるからお休みでない日だと参戦しにくくなる。
それでは5月9日の東京競馬参戦記です。この日までに、データ数を約8000件集めていますが、特徴量は特に増やしたりしていません。
1R 3歳未勝利ダート1600m
まずは予めある程度用意したエクセルのデータを読み込ませます。
入力する特徴量は競走馬毎に18列あります。

人気とオッズは投票締め切り直前のデータを入れたいので、締め切り5分前に入力してから、読み込ませます。他の特徴量はもっと前から準備することができます。
Light-GBMだとカテゴリー変数が使えるし、欠損値があってもとりあえず結果が出るので助かります。あと標準化も不要らしいし。
でLight-GBMによる予想結果。
Notebookにそのまま結果が出ますがエクセルに転記してみます。
orが着順予想で数値で出ます。もっとも低いorが1着の予想になります。

ぱっと見、わかりにくいので後でsortして結果が出るようにしておこう。
予想順にして、ついでに人気も加えてみます。
5着までは人気順の予想になっています。6~8着は変動してますね。でも6~8着を当ててもしょうがないので…。
というわけで1Rは、
馬連1-3を500円で購入します。まぁ1、2番人気なのでオッズはいくらも付かないでしょうが…。
それでは結果です。

右側が結果です。
うーん、1着しか当たってねぇぞ…。(-500円なり)
2R 3歳未勝利ダート1300m
まぁ最初は小手調べですから。気を取り直していきましょう。
2Rはチョッとしたアクシデントがありました。
2番人気と3番人気のオッズが拮抗していたため、確定した人気順が投票券購入時と違ってしまったことです。つまり3番人気を2番、2番人気を3番として予測を立ててしまったのです。
これまでの特徴量の重要度から、たとえオッズが同じくらいでも人気が1つ違うだけで大きく結果が異なることが予想されます。その点がどう出るか心配なところ…。
ただ、直前にオッズや人気が変動する事はよくあるので、
投票券は、馬連8-13で300円、馬連1-13で200円と分割でリスクを抑えた感じに購入しました
2Rの結果です。

4番人気が1着になりました。2着、3着は、間違って入力したおかげ?なのか当たりました。
分割購入も肝心の1着が当たらないので意味なし…。(-1000円なり)
(その4)に続く