Azure Machine Learning Studio(以降AML Studio)というブラウザのGUIベースで分析をし、モデルを作成できるサービスがあります。AML Studioでは入力から機械学習モデルのトレーニングまでの一連の処理、またはWeb APIによる入力データの受付から予測を行う事ができます。その結果を出力する一連の流れをExperimentと呼び、1つの単位として管理します。そしてExperimentに対して画面上からWebサービスを作成することができます。
無料でGuestプランでも、8時間試すことが出来ます。下記のURLに入ると、[my experiments]を選択する事で試す事が出来ます。
![azureML01 azureML01](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML01.png)
先ず、左下にある[NEW]をクリックして、新しいモデル作成して見ましょう。
![azureML02 azureML02](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML02.png)
乳がん予測モデルや売上予測や与信分析など、幅広いモデルのサンプルがあるので、初心者でもモデル作成することが出来るのが、メリットです。
新規でモデルを作成していきます。[Blank Experiment]を選択してください。
![azureML03 azureML03](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML03.png)
入力データ
AML StudioはcsvファイルやSQL DatabaseやAzure Blob Storage、DocumentDBなどのAzureのデータストレージを入力に用いる事ができます。
今回は、サンプルデータを利用します。
データセットはサンプルの[Breast cancer data]をドラッグアンドドロップします。
![azureML04 azureML04](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML04.png)
データセットの[①]を右クリックして、[Visualize]を選択します。
683件10項目の乳がんデータになります。検査値から乳がんか予測モデルを作成していく事になります。
![azureML05 azureML05](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML05.png)
サンプルデータセットの配置
画面左 [Data Transformation] → [Sample and Split] → [Split Data] をドラッグアンドドロップし、データモジュールから線を接続します。
[Split Data]のモジュールを選択し、右の設定画面のFraction of rows…に0.7を変更します。
この意味は70%学習・30%テストの二つに分割していく事になります。
![azureML06 azureML06](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML06.png)
モデル作成
AML Studioは様々なモデルがあります。又は、自分でPythonとRを書くことで分析をする事が出来ます。
![azureML07 azureML07](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML07.png)
今回はTwo-Class Decision Forestを利用してみたいと思います。Split dataモジュールの左出力データから[Train Model]に繋ぎます。
そして、[Two-Class Decision Forest]から[Train Model] に繋ぎます。
実行すると、学習データでTwo-Class Decisionのモデル作成します。
[Machine Learning] > [Initialize Model] > [Train] > [Train Model]。
[Machine Learning] > [Initialize Model] > [Classification] > [Two-Class Decision Forest]
ランダムフォレストの詳細は【ランダムフォレスト】の記事を参考してください。
![azureML08 azureML08](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML08.png)
[Train Model]と[Split Data]の学習(左)・[Split Data]のテスト(右)から[Score Model]に繋ぎます。学習データとテストデータを学習したモデルで予測します。
![azureML09 azureML09](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML09.png)
Score ModelモジュールのVisualizeを選択します。
予測データ(Scored Labels)と確率(Scored Probabilities)を確認します。
![azureML10 azureML10](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML10.png)
モデル評価
[Score Model]から[Evaluate Model]に繋ぎます。
学習データとテストデータのモデルを評価します。
![azureML11 azureML11](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML11.png)
Evaluate ModelモジュールのVisualizeを選択します。
ROCの曲線が非常に左上であり、高い精度の乳がん予測モデルが出来ている事がわかります。ROC曲線の読み方は【ROC曲線とAUC】の記事を参考してください。
![azureML12 azureML12](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML12.png)
![azureML13 azureML13](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML13.png)
APIとして呼び出す方法
今度はこのモデルを自動的に予測[SET UP WEB SERVICE]をクリックして、Webサービスは自動で作成しています。
![azureML14 azureML14](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML14.png)
ウェブサービスのダッシュボードでAPIやテストの設定が出来ます。
![azureML15 azureML15](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML15.png)
画面の下の[Test]ボタンをクリックすると、予測モデルをテストすることが可能です。
![azureML16 azureML16](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML16.png)
画面の下のExcelのAPPSを選択すると、Excelでも予測モデルを利用することが可能です。
![azureML17 azureML17](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML17.png)
また、C# Python RのAPIでモデルを利用することもできます。
![azureML18 azureML18](http://data-analysis-stats.jp/wp-content/uploads/2018/11/azureML18.png)