Azure Machine Learning Studio(以降AML Studio)というブラウザのGUIベースで分析をし、モデルを作成できるサービスがあります。AML Studioでは入力から機械学習モデルのトレーニングまでの一連の処理、またはWeb APIによる入力データの受付から予測を行う事ができます。その結果を出力する一連の流れをExperimentと呼び、1つの単位として管理します。そしてExperimentに対して画面上からWebサービスを作成することができます。
無料でGuestプランでも、8時間試すことが出来ます。下記のURLに入ると、[my experiments]を選択する事で試す事が出来ます。

先ず、左下にある[NEW]をクリックして、新しいモデル作成して見ましょう。

乳がん予測モデルや売上予測や与信分析など、幅広いモデルのサンプルがあるので、初心者でもモデル作成することが出来るのが、メリットです。
新規でモデルを作成していきます。[Blank Experiment]を選択してください。

入力データ
AML StudioはcsvファイルやSQL DatabaseやAzure Blob Storage、DocumentDBなどのAzureのデータストレージを入力に用いる事ができます。
今回は、サンプルデータを利用します。
データセットはサンプルの[Breast cancer data]をドラッグアンドドロップします。

データセットの[①]を右クリックして、[Visualize]を選択します。
683件10項目の乳がんデータになります。検査値から乳がんか予測モデルを作成していく事になります。

サンプルデータセットの配置
画面左 [Data Transformation] → [Sample and Split] → [Split Data] をドラッグアンドドロップし、データモジュールから線を接続します。
[Split Data]のモジュールを選択し、右の設定画面のFraction of rows…に0.7を変更します。
この意味は70%学習・30%テストの二つに分割していく事になります。

モデル作成
AML Studioは様々なモデルがあります。又は、自分でPythonとRを書くことで分析をする事が出来ます。

今回は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]
ランダムフォレストの詳細は【ランダムフォレスト】の記事を参考してください。

[Train Model]と[Split Data]の学習(左)・[Split Data]のテスト(右)から[Score Model]に繋ぎます。学習データとテストデータを学習したモデルで予測します。

Score ModelモジュールのVisualizeを選択します。
予測データ(Scored Labels)と確率(Scored Probabilities)を確認します。

モデル評価
[Score Model]から[Evaluate Model]に繋ぎます。
学習データとテストデータのモデルを評価します。

Evaluate ModelモジュールのVisualizeを選択します。
ROCの曲線が非常に左上であり、高い精度の乳がん予測モデルが出来ている事がわかります。ROC曲線の読み方は【ROC曲線とAUC】の記事を参考してください。


APIとして呼び出す方法
今度はこのモデルを自動的に予測[SET UP WEB SERVICE]をクリックして、Webサービスは自動で作成しています。

ウェブサービスのダッシュボードでAPIやテストの設定が出来ます。

画面の下の[Test]ボタンをクリックすると、予測モデルをテストすることが可能です。

画面の下のExcelのAPPSを選択すると、Excelでも予測モデルを利用することが可能です。

また、C# Python RのAPIでモデルを利用することもできます。
