モデルの学習は自分で書いたML.NET利用して行う、まあ、さらだでは外部プロセス、さらだ64ではアプリの内部的に行う方法とVisual Studioに拡張機能としてインストールしてあるModel Builderを使う方法があり、最近ってかこの所のRMSEと検証結果を踏まえてModel Builderを多用してます。1カ月以上納得できるモデルが得られず、今週はPCの休養(?)的に24時間学習はやめていて、昨日朝にスタートした24時間学習が今朝終わった。RMSE 1.4671と全く魅力を感じられないもので、ただ、学習が終わるとってか、学習中にもログは出てるんですが、その終わりに、最近は特にそんなの全く気にせずに学習終了時に表示されるRMSEを見る程度だったんです。
今回そのログの終わりにたまたま目が行き、NuGetのパッケージ絡みのものがあるのでパッケージマネージャー開いてみるとビックリ! 表示されているパッケージバージョンが古いんです。現在のMicrosoft.MLは5.0 previewなんですが4.0だったんです。これ、ここ最近ってか、まあ、前からほとんどそうだったのですがLightGBMが最適RMSEだしてたんです。このLightGBMは最新4.6で、このバージョンが使われるのがごく最近のMicrosoft.MLなんです。つまり、これまではLightGBM 3.3.5が使われてたんですがこれが非常に気になったので今朝からオッズマスターズも始まったり先週末から俺プロにも復帰してましたが、新馬戦用はまあ、それ程手間ではないので、新たなプロジェクトを作成して学習しなおす事に。これ、新馬戦用は1時間学習でもまあまあな感じなので取敢えず1回済ませ、通常用は最低3時間以上なので12,000秒の3時間半弱を先程スタート。
ただ、これ、どうやら、そもそもModel Builderを利用する方法として自分の場合は、モデルのみを自分のアプリで利用するので自分のアプリはNuGetで最新のものを入れてビルドしてますが、モデルも含めその利用もModel Builderが出すコードを利用するのもあるので、その場合には学習含めたプロジェクトとして最終的に予測するアプリをビルドする場合には影響するもの?
多分、Model Builder自体は別物で、Model Builder自体をビルドするプロジェクトに新しいNuGetパッケージが使われているかがカギだと思う。なので、モデルの学習自体には影響しないとも思えるけど、ダメ元でトライしてます。
0 件のコメント:
コメントを投稿