今日はシアトルにてMS Buildというカンファレンスに来ています。その中で気になったソリューションがいくつかあったのでまとめます。 まず、ML.NETに関してまとめます。機械学習を使って明日の為替価格を予測してみます。これでもう仕事しなくてよくなるかもしれない。
オフィシャルHPはこちらをご参照ください。
https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet
.NET開発者のために作られた
.NET開発者用につくられたMachine Learningということで、私のために!?結構.NET開発者はグローバルでいるのでそうでもないか。
環境準備
まずはVisual Studioで快適なML.NET開発ができるようにExtentionをダウンロードします。
https://marketplace.visualstudio.com/items?itemName=MLNET.07
新しいコンソールプロジェクトを立ち上げて、追加Machine Learning
をクリックすると、フローに入ります。
簡単5ステップ
超がつくほど簡単です。
- シナリオの選択
- データの選択
- トレーニング
- 評価
- コードに追加(起動)
これだけです。
シナリオを選択
次にどんな用途でMachine Learningを使いたいかのか聞かれます。今日は明日の為替データを予測したいので、Price Predictionを選択します。
データの選択
シナリオの次はデータの選択です。
みずほ銀行さんにて2002年4月からCSVデータがありますので、こちらを今日は使ってみます。
今日は明日の米ドルを予測します。なので Column to Predict(Label)をUSDにします。
トレーニング
次はデータをトレーニングします。
一旦10秒トレーニングを選択。
評価
今回は5つのモデルをトライ(自動)。各モデルを評価した結果一番精度が高いのは LightGbmRegressionとのことです。 LightGmbRegressionって何?と思った人はGoogleをご参照。
コードに追加
さっそく起動
コードが自動で追加されました。さっそく起動してみます。
明日のUSドルはずばり132.9238円!2019年5月8日(水)の平均値は132.9238円!?
なんか違うと思ったら・・データの順番が違いました・・
ということで仕切りなおしてデータをきれいにします。
ファイルにレファレンスがあるので、このまま再度起動すれば問題ないはず。
ということで、
2019年5月8日(水)の平均値は110.7932円! これ以上なら売り、これ以下なら買い(そんなにシンプルではないですが基本的な考えとして)。
精度をあげる
先ほどは10秒のトレーニングだったところ50秒にしてみました
あれ、ベストモデルが変わった・・ 50秒トレーニングした結果ベストモデルはFastTreeRegressionとのことで、こちらもググってみてください。今回は5個のモデルではなく、24個のモデルをテストしたのとこのことで。秒数が多いとより多くのモデルをテストできるようです。(ですよね・・)
あまり細かいことは気にせず、新しモデルで再度起動してみます。
ということで
2019年5月8日(水)の平均値は110.699円! これ以上なら売り、これ以下なら買い。
最後に
時間があって、本当にもう仕事したくない人は50秒ではなくさらに多くの時間でベストなモデルを探すこと、あとはデータソースを増やすことをお勧めします。あとでホテルに戻ってデータソースの増やし方はまた後程まとめます。あと1時間ぐらいモデルをテストしたいと思います。