作った機械学習モデルをWebサービスにしてデプロイするWebブラウザーでできる機械学習Azure ML入門(3)(2/2 ページ)

» 2014年12月01日 10時00分 公開
[あけり@IT]
前のページへ 1|2       

Web サービスとしてデプロイしてみよう

 ここまでできたところで、AzureMLってどう使うの? という疑問は全く晴れていないと思います。このままではWebブラウザー上で確認して楽しんでいるだけで終わってしまいます。

 しかし、AzureMLはこんなところでは終わりません。むしろここからが本領発揮です。

ちょっと改造して「PUBLISH WEB SERVICE」を押す

 AzureMLのすごいところは、今作ったモデルを、このままWebサービスとしてデプロイできてしまうところです。そのためには、今までの環境とは異なり、外部との入出力を設定する必要がありますので、ここからは今まで操作してきたモデルを元に、設定を変更していきます。

 Ratingの情報は、第2回では学習用とテスト用に分けていましたが、その必要はありません。ここでは全部学習させるようにしてください。その代わり「Score Matchbox Recommender」の二つ目の入力は、Web サービスから受け取れるように「Set as Publish Input」に設定を変更します。

入力の一つを「Set as Publish Input」に変更 入力の一つを「Set as Publish Input」に変更

 そして、Inputの項目が何かが分かるように「RestaurantRatings」から、「Project Columns」で「UserId」と「PlaceId」の二つを「column selector」で選択し、二番目の入力につなぎます。

 同じように出力も、検証のための「Evalute Recommender」を削除し、「Set as Publish Output」とします。

 ここまでの操作が終わると、フローチャートの図はこのようになっているはずです。

Webサービスとしてデプロイする構成のフローチャート Webサービスとしてデプロイする構成のフローチャート

 ここまでできたら、一度実行(RUN)して学習させておきましょう。RUNが無事に完了すると、画面下部の「PUBLISH WEB SERVICE」が押せるようになるので、クリックします。

「PUBLISH WEB SERVICE」がクリックできるようになった 「PUBLISH WEB SERVICE」がクリックできるようになった

 クリックするとWeb Serviceのダッシュボードに移動します。

Web Serviceのダッシュボード Web Serviceのダッシュボード

自動生成されたAPIを試してみよう

 自動的に「BATCH EXECUTION」と「REQEUST/RESPONSE」という二つのAPIが作成されます。BATCH EXECUTIONSではデータの更新などがAPI化されています。

 もう一つのREQUEST/RESPONSEというAPIは、先ほどのExperimentの中でSet as Publish Inputと設定した項目を送信し、Publish Outputと設定したところがレスポンスとして返ってきます。さっきのExperimentでいうと、UserIdとPlaceId(レストランのID)と仮のRatingを送ると、UserIdとPlaceIDとRatingが返ってきます。

 ちょっと試してみるのに便利な機能もあります。「Staging Services」のところにある「Test」というリンクをクリックすると、その場でフォームが出てきて、APIのテストができます。

APIテスト用のフォーム APIテスト用のフォーム

 これで機械学習の結果を利用したAPIがテストできました。簡単ですね。あとはプロダクションにすることで、どこからでもAPIでこの機械学習を活用することができるようになります。

 今までは機械学習を組み込んだシステムを開発するには、かなりの苦労が必要でしたが、Azure MLを利用することで、簡単になりますね! 最近はやっている「マイクロサービス」っぽいのも良いと筆者は思っています。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。