Azure Machine Learning できるとこまでやってみよう Vol.2
過去の記事はこちら↓
Azure Machine Learning できるとこまでやってみよう Vol.1 - Jack of all trades
Azure Machine Learning できるとこまでやってみよう Vol.1.5 - Jack of all trades
またしても随分間が空いてしまった…。
ということでVol.2です。今回もまだまだチュートリアル的内容ですがよろしくお願いします。
前回は簡単な予測モデルを作成して、ML Studio上で性能評価をするところまででしたが、今回は作成した学習済みのモデルを登録して、それをWeb Serviceとして公開する一連の流れを説明していきます。
学習済みモデルの保存
学習済みのtrain modelの下○をクリックして「Save as Trained Model」を選択します。
保存するモデルの名称と説明を入力して保存します。
学習済みモデルの配置
保存が完了すると、左側のメニューにある「Trained Models」に保存したモデルが表示されるようになります。
これを配置すると以下のようになります。
Web Serviceとして発行
学習済みモデルの配置が完了したら、下段の「PUBLISH WEB SERVICE」をクリックします。
すると…
なんかミヨーンと出てきます。これはWeb Service(API)として発行した際のInputとOutPutをどこに接続するか、というモジュールです。
「PUBLISH WEB SERVICE」をクリックすると自動でモジュールが生えてきますが、自分で自由に配置することもできます。
左側のメニューからWeb Serviceを開いてInputもしくはOutputモジュールをドラッグアンドドロップで配置、接続するだけです。
何はともあれ、これでWeb Serviceとして発行する準備ができました。
あとは下段の「RUN」をクリックして実行した後、「PUBLISH WEB SERVICE」をクリックすることで作成したモデルがWeb Serviceとして発行されます。
発行が完了すると以下のような画面が表示されます。
「REQUEST/RESPONSE」をクリックすると、実際にAPIを利用する際の情報が一式表示されます。
Request(もしくはResponse)のJSONや
Input(もしくはOutput)のパラメータなど
さらにはプログラムから呼び出して利用する場合のサンプルコード(C#, Python, R)もあります。
またWeb Serviceのトップ画面から「TEST」ボタン(水色のヤツ)をクリックすると、この画面上でAPIの動作テストができます。
パラメータを入力して実行すると…
通知領域にResponse結果が表示されます。
その他にも「Excel Workbook」なるものが用意されています。Web Serviceのトップ画面にある「Download Excel Workbook」(Excelのアイコンがついてるやつ)をクリックすると、Excel上でパラメータを入力して、結果を受け取る仕組みが組み込まれたファイルをダウンロードできます。
コンソールアプリのサンプルコード
上記のサンプルコードを利用して、C#によるコンソールアプリのサンプルを作ってみました。バリデーションとか、JSONのパースがグズグズなのはご容赦。実際に画面から入力した値をパラメータとして投げて、受け取った結果から必要な値を取り出して画面に表示する際のサンプルです。
sadynitro/ExpectedVisitorConsole · GitHub
まとめ
以上、いかがだったでしょうか。ML StudioのGUIによる簡単操作もさることながら、Web Service発行についても実際に利用するパターンを幅広く想定したかなりの親切設計になっていると思います。RやPythonのコードが実行できるということもあり、既存の資産をAPI化するというだけでも使い道としてはありなんじゃないかと思ったりもします。
次回はクラスタリング(分類)について、何かしら面白そうな例題を作りつつ(Irisデータ使ったサンプルとかもう噛んでも味せぇへんでしょ)ML Studio上での手順ベースでお伝えできればと思っております。