Posted at

GW明け仕事したくない人にお勧め。Azure ML 1.0 で明日の為替価格を予測。5分でできる。

今日はシアトルにて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

image.png

新しいコンソールプロジェクトを立ち上げて、追加Machine Learningをクリックすると、フローに入ります。

image.png


簡単5ステップ

超がつくほど簡単です。 


  1. シナリオの選択

  2. データの選択

  3. トレーニング

  4. 評価

  5. コードに追加(起動)

これだけです。


シナリオを選択

次にどんな用途でMachine Learningを使いたいかのか聞かれます。今日は明日の為替データを予測したいので、Price Predictionを選択します。

image.png


データの選択

シナリオの次はデータの選択です。

image.png

みずほ銀行さんにて2002年4月からCSVデータがありますので、こちらを今日は使ってみます。

image.png

今日は明日の米ドルを予測します。なので Column to Predict(Label)をUSDにします。

image.png


トレーニング

次はデータをトレーニングします。

一旦10秒トレーニングを選択。

image.png


評価

今回は5つのモデルをトライ(自動)。各モデルを評価した結果一番精度が高いのは LightGbmRegressionとのことです。 LightGmbRegressionって何?と思った人はGoogleをご参照。

image.png


コードに追加

image.png


さっそく起動

コードが自動で追加されました。さっそく起動してみます。

image.png

明日のUSドルはずばり132.9238円!2019年5月8日(水)の平均値は132.9238円!?

image.png

なんか違うと思ったら・・データの順番が違いました・・

ということで仕切りなおしてデータをきれいにします。

image.png

ファイルにレファレンスがあるので、このまま再度起動すれば問題ないはず。

ということで、

2019年5月8日(水)の平均値は110.7932円! これ以上なら売り、これ以下なら買い(そんなにシンプルではないですが基本的な考えとして)。

image.png


精度をあげる

先ほどは10秒のトレーニングだったところ50秒にしてみました

image.png

あれ、ベストモデルが変わった・・ 50秒トレーニングした結果ベストモデルはFastTreeRegressionとのことで、こちらもググってみてください。今回は5個のモデルではなく、24個のモデルをテストしたのとこのことで。秒数が多いとより多くのモデルをテストできるようです。(ですよね・・)

image.png

あまり細かいことは気にせず、新しモデルで再度起動してみます。

image.png

ということで

2019年5月8日(水)の平均値は110.699円! これ以上なら売り、これ以下なら買い。


最後に

時間があって、本当にもう仕事したくない人は50秒ではなくさらに多くの時間でベストなモデルを探すこと、あとはデータソースを増やすことをお勧めします。あとでホテルに戻ってデータソースの増やし方はまた後程まとめます。あと1時間ぐらいモデルをテストしたいと思います。