機械学習
MachineLearning
AI
AzureMachineLearning

Azure Machine Learning で予測のための API を作ってみよう

More than 1 year has passed since last update.

はじめに

前回 は、Azure Machine Learning 内のモジュール名称の変更を確かめるために、Azure Machine Learning Studio の操作方法を説明し、実際にモジュール名の変更を確かめてみました。

今回は、Azure Machine Learning Studio (以降、ML Studio) で、予測のための API 作る方法を確認しましょう。

予測 API って?

Azure Machine Learning は機械学習ソリューションを開発するためのサービスです。作成した機械学習ソリューションは、業務システムの一部として何らかの形で組み込むことが必要になります。そこで、業務システムや Excel 等から引き渡した入力に対して、予測結果を返す Web API として展開します。

ML Studio にアクセスする

では、実際に ML Studio へアクセスして見ましょう。以下のURLにアクセスします。
https://studio.azureml.net/

前々回 の手順で作成したアカウントを使用してサインインしていきたいと思います。[Sing in here] というリンクをクリックするか、右上の [Sign In] リンクをクリックします。
studio.azureml.net top.png

表示された画面に、Microsoft アカウントとして登録されているメールアドレスを入力します。メールアドレスのテキストボックスからフォーカスが外れた時点で、自動的に次の画面へと遷移します。
studio.azureml.net sign in.png

Microsoft アカウントのパスワードを入力します。パスワードを入力して サインイン ボタンをクリックすると画面が遷移します。
studio.azureml.net password.png

ML Studio へアクセスできました。
studio.azureml.net studio.png

Cortana Intelligence Gallery からエクスペリメントをコピーする

今回は API を作成することが目的なので、Cortana Intelligence Gallery で一般公開されているエクスペリメントを使用したいと思います。
https://gallery.cortanaintelligence.com/
にアクセスします。
cortana-gallery-top.png

画面上部の検索ボックスに「Sample 5」と入力すると、Sample 5: Train, Evaluate for Binary Classification: Adult Dataset が候補に表示されるので選択します。
cortana-gallery-sample5.png

これから利用するエクスペリメントの解説が記述されています。予測モデルの詳細については解説を読んでいただくとして、予測モデルそのものは個人の収入が \$50,000 以下か \$50,000 より多いかを年齢等から予測するものです。

[Open in Studio] をクリックして自分のワークスペースにコピーを作成します。コピー先のワークスペースを選択する画面が表示されます。複数のワークスペースを利用している場合は好きなワークスペースを選択できます。
なお、無償版のAzure ML ワークスペースは、必ず米国中南部リージョンに作成されます。
cortana-gallery-select-workspace.png

ワークスペースを選択したらチェックマークをクリックします。しばらく待つと、エクスペリメントのコピーが指定したワークスペースに作成されます。
studio.azureml.net run.experiment.png

エクスペリメントから予測APIを作成する

コピーしたエクスペリメントはそのままではAPIとすることができません。自分でゼロからエクスペリメントを作った際も同様に、いくつかの手順を踏む必要があります。

API 可したいエクスペリメントが完成したら、一度、実行する必要があります。画面下部の[RUN]をクリックします。
studio.azureml.net run.experiment.png

しばらく待つと、実行が完了します。完了した場合、キャンバス内に黄緑色のチェックマークが表示されます。
studio.azureml.net finish.experiment.png

次に、画面下部の[SET UP WEB SERVICE]にマウスをホバーさせ、[Predictive Web Service [Recommended]] をクリックします。学習の状態を確かめるエクスペリメントから、予測処理のみを実行するエクスペリメントが生成されます。
studio.azureml.net experiment.setup.webservice.png

画面上の動きが終わると、キャンバスにタブが増え、「Training Experiment」と「Predictive Experiment」が表示されます。後者が新しく増えたエクスペリメントで、学習処理が含まれていません。
studio.azureml.net experiment.setup.comp.png

再度、画面下部の [RUN] をクリックし、「Predictive Experiment」を実行します。API化する前に問題なく動作するかを確かめておく必要があるためです。
studio.azureml.net deploy.webservice.png

実行が完了したら、画面下部の [DEPLOY WEB SERVICE] をクリックします。これでようやくAPIとして展開されます。
studio.azureml.net webservice.png

[TEST] ボタンをクリックすることで、APIのテストが可能です。
studio.azureml.net test.webservice.png

表示されたテキストボックス群に値を設定してチェックマークをクリックすると、予測結果を得ることができます。
studio.azureml.net test.result.webservice.png

全てをML Studioで操作しているので、あまり Web API になった感じがしませんが、APIにちゃんとなっています。ほかにもテストの方法はあるのですが、長くなってきたので今回はここまでにします。

次のステップ

今回は ML Studio から Web API を作成する流れを確認してみました。次は、作成した予測 API をどのように使うか試してみたいと思います。