2023/08/26

機械学習クラスを総点検

 これまでやってた機械学習はAutoML関連の情報集めながら、まあ言っちゃうと行き当たりばったりのコーディングしてた訳ですが、少し前にもチラッと触れたと思うけど、クラスにしてます。なので、順位の機械学習関連なんかは全てこのクラスに依存してる訳なんです。で、学習用のCSVに時間が掛かったりとか諸々非常に気になってまして、なんでここまで遅いのかと。まあね、自分のコーディング技量不足ってのは分かってるんです。その昔にJRA-VANの提供データ全てを取り込むフルセットアップが12時間以上掛かってたり...親切にアドバイス頂いたりして改善し、今は3時間弱。順位学習の検証も一昨日夜に実行した時には2年分が3時間半掛かってました。クラスにする時のカプセル化(?)で処理に対して無駄に変数の初期化を1回で済むのに毎回にしてたりを見直して、何とか使用に耐えられる感じになってきました。今は2年分の検証は4分ちょっとで済みます😁 なので今は必要ないのでしませんが、CSV出力に1ヶ月分が8分とか掛かってたと思うけど、それも多分改善されていると思います。

そのCSVですが、先週末まで出力済みで157MBです。もう少しで10時間学習が終わるとって見てみたら終わってた😅 勘違いなのかModel Builderのあるたまに早めに終わったのかは何ともですが、

|--------------------------------------------------------------------|
|                          Experiment Results                        |
|--------------------------------------------------------------------|
|                               Summary                              |
|--------------------------------------------------------------------|
|ML Task: regression                                                 |
|Dataset: E:\My Project\MBJuni\RaceJuni.csv                          |
|Label : Juni                                                        |
|Total experiment time : 36000.0000 Secs                             |
|Total number of models explored: 1217                               |
|--------------------------------------------------------------------|
|                        Top 5 models explored                       |
|--------------------------------------------------------------------|
|      Trainer                             RMSE       Duration       |
|--------------------------------------------------------------------|
|568   FastTreeRegression                  4.0962     40.1740        |
|552   FastTreeRegression                  4.0963     40.9130        |
|553   FastTreeRegression                  4.0989     41.3940        |
|535   FastTreeRegression                  4.1001     43.6240        |
|556   FastTreeRegression                  4.1008     39.8560        |
|--------------------------------------------------------------------|

こんな感じでやはり最適なRMSEは4.0未満にはまだまだです。しかし、半分程度で見つけてそれ以後はって感じなので時間延ばしても改善は見込めないかも。ちょっと前にこれの前の学習での2年間検証したのが

単勝:的中[10.19%] 回収[84.45%] 複勝:的中[47.22%] 回収[140.60%]
枠連:的中[4.50%] 回収[85.24%] 馬連:的中[1.87%] 回収[65.40%] 
ワイド:的中[15.23%] 回収[197.98%] 馬単:的中[1.04%] 回収[51.10%]
 三連複:的中[0.68%] 回収[58.24%] 三連単:的中[0.10%] 回収[30.26%] 
予想[6,912] 的中[3,330] (48.18%) 購入[¥4,769,200] 払戻[¥4,871,050 (102.14%)]

って感じです。今回の学習モデルに変更すると検証期間が学習期間に含まれるのでどこまで参考になるかは分かりませんが、

単勝:的中[12.34%] 回収[77.26%] 複勝:的中[56.52%] 回収[143.50%]
枠連:的中[6.58%] 回収[89.92%] 馬連:的中[3.83%] 回収[98.87%]
ワイド:的中[23.03%] 回収[222.27%] 馬単:的中[1.84%] 回収[76.35%]
三連複:的中[1.69%] 回収[91.28%] 三連単:的中[0.35%] 回収[42.06%] 
予想[6,912] 的中[3,957] (57.25%) 購入[¥4,769,200] 払戻[¥5,754,300 (120.66%)]

となります。時間掛けた分最適なRMSEが上昇した分なのか、単に学習期間内の検証だからなのかは不明ではありますが、まずまずだったりします。あっ、今回のクラス化で検証部分もクラスの機能として実装して以前の様なザックリなものではなく、ちょっと改善。

しかし、実は通常用なんかも同じ検証が出来る様になってるんですが、こちらも先週辺りに実戦用に先々週末までだったかの学習済みモデルなので学習期間内の検証にはなりますが、

単勝:的中[19.55%] 回収[81.10%] 複勝:的中[68.63%] 回収[137.54%]
枠連:的中[10.32%] 回収[82.53%] 馬連:的中[6.97%] 回収[70.39%] 
ワイド:的中[34.39%] 回収[200.70%] 馬単:的中[3.59%] 回収[59.56%]
三連複:的中[3.67%] 回収[64.79%] 三連単:的中[0.68%] 回収[49.87%] 
予想[6,912] 的中[4,804] (69.50%) 購入[¥4,769,200] 払戻[¥5,102,560 (106.99%)]

どっちが良いとか判断が微妙につけられない結果なんですよね😔 参考までに、真面目に検証内容に目を通して疑問を持つかもしれませんが、実際自分も最初はえ?っとなりました。本来総合的な的中率って複勝の的中率だよねって思ってました。しかし、曲者は枠連なんです。枠連って当たり前ですが予想した馬じゃない同枠の馬が来ても当たります。検証中にレース毎に何がいくら当たったとか表示してて、ん?今複勝当たってないのに枠連当たってるって目に入って考えたら、まあそういう事です。どっちにしてもこの検証結果信じるとワイド買い続ければ勝てる?

0 件のコメント:

コメントを投稿