SlideShare ist ein Scribd-Unternehmen logo
1 von 108
Downloaden Sie, um offline zu lesen
Azure Machine Learning による
推薦システム構築手順書
1
日本マイクロソフト
テクニカルエバンジェリスト
大田 昌幸 : @masota0517 江田 周平 : @shumach5
安藤 祐貴 : @ycnyuki
清水 磨 : @shimi016
本手順書の目的・前提条件
本手順を実施して得られること
Azure Machine Learning 上で、推薦システムを構築する方法を学べる
本手順で扱うモデル
各ユーザーの映画の嗜好を学習しユーザーが興味を持ちそうな映画を推薦する
参考資料
手順書内のパラメタなど詳細な解説はこちらをご参照ください (英語)
http://gallery.azureml.net/Details/3a02931f94114f47b4512dd9179b515e
参考資料2
Azure Machine Learning の基礎的な使用方法、数値予測をするための手順が
このスライド(http://www.slideshare.net/masayuki1986/azure-ml-46562993)で学べます
前提条件
Microsoft Azure のサブスクリプションが必要になりますので、無料評価版をご活用ください
http://azure.microsoft.com/ja-jp/pricing/free-trial/
2
この手順書を通して開発するもの
3
ユーザーへ映画を推薦するシステムを作成します
Azure Machine Learning
1. Azure Machine Learning へ
推薦システムのテンプレートを
インポートする 2. インポートした Experiment の解説
3. Web API の公開
4. Web アプリの開発と
Web API の呼び出し
この手順書を通して開発するもの
4
ユーザーへ映画を推薦するシステムを作成します
Web アプリ完成イメージ
ユーザー ID に応じて
おすすめの映画を最大 5 つ提示します
手順書の流れ
1. ML Studio へ推薦システムのExperimentをインポートする手順の解説
2. インポート後の Experiment の解説
3. Web API の公開方法の解説
3-1. 学習したモデルの保存
3-2. Web API 公開用の Experiment の作成
3-3. API として公開
4. Web アプリケーションからの API 呼び出し
4-1. Azure Web Apps の作成
4-2. GitHub からアプリケーションのインポート・Web Apps 設定
4-3. アプリケーションから API 呼び出し
5
この手順書を通して開発するもの
6
ユーザーへ映画を推薦するシステムを作成します
Azure Machine Learning
1. Azure Machine Learning へ
推薦システムのテンプレートを
インポートする 2. インポートした Experiment の解説
3. Web API の公開
4. Web アプリの開発と
Web API の呼び出し
手順書の流れ
1. ML Studio へ推薦システムのExperimentをインポートする手順の解説
2. インポート後の Experiment の解説
3. Web API の公開方法の解説
3-1. 学習したモデルの保存
3-2. Web API 公開用の Experiment の作成
3-3. API として公開
4. Web アプリケーションからの API 呼び出し
4-1. Azure Web Apps の作成
4-2. GitHub からアプリケーションのインポート・Web Apps 設定
4-3. アプリケーションから API 呼び出し
7
手順書
8
1. ブラウザで以下のページへアクセスします
https://manage.windowsazure.com
3. [+ 新規] をクリックします
2. 左のような画面が表示されます
手順書
9
2. ワークスペース名を入力します。
(ユニークな名前となる必要があります。)
1. [データ サービス]-[MACHINE LEARNING]-
[簡易作成]
の順にクリックします。
3. データ保存領域であるストレージに
任意のアカウント名を設定します。
(ユニークな名前となる必要があります。)
9
手順書
10
しばらくすると、
ワークスペースの作成が完了します
ワークスペースの作成が完了し、
Azure ML を使用する準備が整いました。
手順書
11
先ほど作成したワークスペースの
名前の横にある [→] をクリックします。
手順書
12
[ML Studio にサインイン] をクリックします。
手順書
13
しばらくすると、
ML Studio の画面が表示されます。
ML Studio へのサイン インが完了し、
ソリューションを開発する準備が整いました。
手順書
14
ML Studio 上で、[+ New] をクリックします。
手順書
15
検索ボックスで “movie recommendation”
を検索します。
“Recommender: Movie recommendation”
が表示されます。
手順書
16
“OPEN IN STUDIO” をクリックします。
手順書
17
モデルが展開されたことを確認します。
作成されたモデルは該当の箇所のモジュールが
重なって表示されます。
図のように重ならないように適宜モジュールを
ドラッグし配置します。
手順書
18
[RUN] をクリックします。
作成したモデルで学習が始まります。
実はこのままで推薦モデルを使用できるのですが、
今後応用するために各モジュールの解説を行います
この手順書を通して開発するもの
19
ユーザーへ映画を推薦するシステムを作成します
Azure Machine Learning
1. Azure Machine Learning へ
推薦システムのテンプレートを
インポートする 2. インポートした Experiment の解説
3. Web API の公開
4. Web アプリの開発と
Web API の呼び出し
手順書の流れ
1. ML Studio へ推薦システムのExperimentをインポートする手順の解説
2. インポート後の Experiment の解説
3. Web API の公開方法の解説
3-1. 学習したモデルの保存
3-2. Web API 公開用の Experiment の作成
3-3. API として公開
4. Web アプリケーションからの API 呼び出し
4-1. Azure Web Apps の作成
4-2. GitHub からアプリケーションのインポート・Web Apps 設定
4-3. アプリケーションから API 呼び出し
20
このテンプレートの概要
21
推薦のために使用するデータ
モデルの訓練
今回は Matchbox というモジュールを使用します。
このモジュールは “2 つのアイテム”,”そのアイテ
ム間の関係”という 3 つの学習データが必要です。
今回は “人”,”映画”,”人から映画への評価”という
データを使用し、映画の推薦をします。
データの用意・編集は上記を想定して行います。
データの編集
結果の出力・評価
各モジュールで実施していること
22
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
データのインポート
23
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
解説
24
“Movie ID”、”Movie Name” の列からなる
データセットです。
(実体は、CSV ファイルです。)
データのインポート
25
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
解説
26
“UserId”、”MovieId”、”Rating”、
“TimeStamp” の列からなるデータセットです。
(実体は CSV ファイルです。)
解説
27
”Launch column selector” から
“Rating” を選択します。
このモジュールではデータの列の型を変更します。
“Rating “の型が、Numeric 型になっていますので、
プロパティ画面のとおり設定し、
Integer 型に変換します。
(後述する “Matchbox” モジュールでは、
Numeric 型を扱えないため、
本処理を行っています。)
データのクレンジング
28
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
解説
29
“Movie Ratings” と “IMDB Movie Titles” の
データセットを Join します。
Join の際は、画面右の Properties ペインの通り、
Inner Join を実施します。
Join の際 ”Launch column selector” から
“MovieId” を選択します。
”Launch column selector” から
“MovieID” を選択します。
”Join type” から
“Inner Join” を選択します。
解説
30
Join したデータの中から
使用する列を選択します。
”Launch column selector” から
“UserId”、”Movie Name”、”Rating”
の列を選択します。
解説
31
データセットから重複する行を削除します。
”Launch column selector” で、
”UserId”、”Movie Name” を設定します。
”UserId” と ”Movie Name” が重複している行
の一方が削除されます。
あるユーザーが同じ映画に複数回評価をしている
という状況を回避できます。
学習用データ/評価用データの分割
32
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
解説
33
“Fraction of training-onl…” を 0.75、”Fraction of
test user rati...” を 0.25 に設定します。
75 % のデータがトレーニング用データとして左の
ポートから出力され、25% が検証用データとして右
側のポートから出力されます。
加工したデータセットの うち、トレーニングの用
データと検証用データをそれぞれ左右の
ポートから出力します。
解説
34
ここをクリックして、[Visualize] をクリックします。
後ほど推薦された情報と比較するために、
どのユーザーがどのような映画を評価しているかを
確認してみましょう。
14887というユーザーは
One Flew Over the Cuckoos Nest
という映画を高く評価しています。
この映画をWebで検索し、
どのような動画か調べてみましょう。
モデルの訓練
35
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
解説
36
“Matchbox” というアルゴリズムを使用します。
“Mathbox”はAzure ML の提供する
推薦システム用のアルゴリズムです。
左の入力ポートから訓練データを入力し、学習させます。
“Number of traits” の数を 20 と設定します。
Traits : アルゴリズム内で利用する変数の数。
“Number of recommendation Iteration” の数を
10 と設定します。
Iteration : アルゴリズム内で処理を繰り返す回数。
モデルの評価
37
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
解説
38
学習させた Matchbox モジュールを使用します。
学習させた “Matchbox” モジュールと
データセットを入力とします。
”Rating Prediction” を選択することで
各ユーザーの任意の映画に対する
“Rating” の予測値を出力します。
過去のデータから
「映画がどのくらいの評価を受けそうか」
を予測する際に活用します。
解説
39
実データとレコメンドデータを基に
MAE 値(絶対平均誤差)、RMSE 値 (平均二乗誤差)
を求めます。
左図に示した赤丸の箇所をクリックし、
”Visualize” をクリックすることで
MAE 値、RMSE 値 の実際の結果を確認できます。
モデルの評価
40
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
解説
41
学習させた Matchbox のモジュールを使用します。
“Matchbox” モジュールとデータセットを入力としま
す。
“From Rated Items for model” を選択することで
ランク付けされた映画からのみ推薦します。
“Item Recommendation” を選択することで各ユー
ザーへ、推薦すべき映画を予測します。
推薦する映画数の最大値を選択します。
ここでは 5 つとします。
推薦する映画数の最小値を選択します。
ここでは 2 とします。
解説
42
NDCG 値を求めます。
(1 に近づくほど精度の高いモジュールが作成できて
いることになります。)
左図の赤丸の箇所をクリックし、
”Visualize” をクリックすることで
NDCG 値 の実際の結果を確認できます。
データのクレンジング
43
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
解説
44
データセットの中で重複している行を削除します。
”Launch column selector” で、
”UserId” を設定します。
”UserId” が重複している場合一方を削除します。
解説
45
データの量 (行数) を制限します。
“Partition or sample mode” を “Head” に、
”Number of rows to select” を 100 と設定します。
入力されたデータの頭から 100 行を取得します。
解説
46
入力されたデータセットのうち、
必要な列のみ保持します。
”Launch column selector” で、
”UserId” のみ指定します。
”UserId” 列のみのデータセットが作成されます。
モデルの評価
47
ユーザーの各映画に対する
評価データのインポート
学習用データ/評価用データを
分割する (例: 75% : 25%)
モデルの訓練
(学習アルゴリズムの訓練)
データのクレンジング
(不要・不正なデータの削除)
モデルの評価1
ユーザーの好みの推測
映画のデータのインポート
モデルの評価2
アルゴリズムの評価
モデルの評価3
オススメの映画の提示
データのクレンジング
(不要・不正なデータの削除)
解説
48
学習させた Matchbox のモジュールを使用します。
“Matchbox” モジュールとデータセットを入力としま
す。
“Item Recommendation” を選択します。
各ユーザーに推薦すべき映画を予測します。
“From All Items” を選択します。
全映画のデータから、推薦する映画を決定します。
*スライド 81 で同じモジュールを使用しています
が、 81 では “From Rated Items for model” が設定
されており、評価された映画からのみ推薦する
映画を決定しています。
各ユーザーに対して、推薦する映画数の
最大値を選択します。
ここでは、最大 3 つとします。
解説
49
左図の赤丸の箇所をクリックし、
”Visualize” をクリックすることで
各ユーザーへ推薦すべき映画の
結果を確認できます。
解説
50
User ID, 1番推薦したいアイテム,
2 番目に推薦したいアイテム…,
という順序でデータが表示されます。
この手順書を通して開発するもの
51
ユーザーへ映画を推薦するシステムを作成します
Azure Machine Learning
1. Azure Machine Learning へ
推薦システムのテンプレートを
インポートする 2. インポートした Experiment の解説
3. Web API の公開
4. Web アプリの開発と
Web API の呼び出し
手順書の流れ
1. ML Studio へ推薦システムのExperimentをインポートする手順の解説
2. インポート後の Experiment の解説
3. Web API の公開方法の解説
3-1. 学習したモデルの保存
3-2. Web API 公開用の Experiment の作成
3-3. API として公開
4. Web アプリケーションからの API 呼び出し
4-1. Azure Web Apps の作成
4-2. GitHub からアプリケーションのインポート・Web Apps 設定
4-3. アプリケーションから API 呼び出し
52
手順書
Web API で活用するために、
学習済みの “Matchbox” を保存します。
左図に示した赤丸の箇所をクリックします。
“Save as Trained Model”をクリックします。
手順
54
モジュールを任意の名前で保存します。
ここでは仮に ”Sample movie Recommender”
と入力します。
右下のボタンをクリックし、モジュールを保存しま
す。
手順書の流れ
1. ML Studio へ推薦システムのExperimentをインポートする手順の解説
2. インポート後の Experiment の解説
3. Web API の公開方法の解説
3-1. 学習したモデルの保存
3-2. Web API 公開用の Experiment の作成
3-3. API として公開
4. Web アプリケーションからの API 呼び出し
4-1. Azure Web Apps の作成
4-2. GitHub からアプリケーションのインポート・Web Apps 設定
4-3. アプリケーションから API 呼び出し
55
手順書
56
ML Studio 上で、[+ New] をクリックします。
手順書
57
“Blank Experiment” を選択します。
新規 Experiment が作製されます。
手順書
58
画面左の検索ボックスに
“Sample Movie Recommender”
と入力し、モジュールを検索します。
手順書
59
検索結果で表示された “Sample Movie
Recommender” を画面中央のスペースにドラッグ
& ドロップします。
これ以降の手順でも、”検索 + ドラッグ&ドロップ”を
組み合わせて捜査を行います。
手順書
60
“Movie Ratings” のデータセットを
ドラッグ & ドロップします。
手順書
61
1. “Remove Duplicate Rows“ モジュールを
ドラッグ & ドロップで配置します。
“Movie Ratings”データセットと接続します。
2. [Launch column selector] をクリックします。
手順書
62
2. 左図のように設定を行います。
この設定を行うことで、
”UserId” が重複しているデータがある場合
一方のデータを削除します。
1. [Select columns] 画面が表示されます。
画面左の [WITH RULES]をクリックします。
手順書
63
2. “Partition or sample mode” を “Head” に、
”Number of rows to select” を 100 と設定します。
入力されたデータの先頭から 100 行を取得します。
1. “Partition and Sample” のモジュールを
ドラッグ & ドロップし、
“Remove Duplicate Rows” モジュールと接続します。
手順書
64
1.“Select Columns in Dataset” のモジュールを
ドラッグ & ドロップします。
“Partition and Sample” モジュールと接続します。
2.”Launch column selector” で、
”UserId” を設定します。
”UserId”の列のみ保持します。
手順
65
1. “Score Matchbox Recommender” のモジュールを
ドラッグ & ドロップします。
“Sample Movie Recommender” 、“Select Columns in
Dataset” モジュールと接続します。
3. “From All Items” を選択します。
全映画のデータから
推薦すべきの映画を決定します。
4.各ユーザーに対して、推薦する映画数の
最大値を選択します。
ここでは、最大 5 つとします。
2.“Item Recommendation” を選択します。
各ユーザーに推薦すべき映画を予測します。
手順書の流れ
1. ML Studio へ推薦システムのExperimentをインポートする手順の解説
2. インポート後の Experiment の解説
3. Web API の公開方法の解説
3-1. 学習したモデルの保存
3-2. Web API 公開用の Experiment の作成
3-3. API として公開
4. Web アプリケーションからの API 呼び出し
4-1. Azure Web Apps の作成
4-2. GitHub からアプリケーションのインポート・Web Apps 設定
4-3. アプリケーションから API 呼び出し
66
手順書
67
“Web service input” のモジュールを
ドラッグ & ドロップします。
“Score Matchbox Recommender” と
接続します。
“Web Service output”のモジュールを
ドラッグ & ドロップします。
“Score Matchbox Recommender” と
接続します。
手順書
68
[Run]-[Run] をクリックします。
適切に Experiment が構築されている場合
“Deploy WEB SERVICE” のボタンが
クリックできるようになります。
手順書
69
[DEPLOY WEB SERVICE]-[Deploy Web Service [Classic]] を
クリックします。
手順
70
左図のような画面が表示されていることを確認します。
手順書
71
“REQUEST/RESPONSE” をクリックします。
API の詳細・APIを操作するためのサンプルコードを
確認することができます。
手順書
72
“Test” をクリックします。
このボタンから、テスト用の API を実際に利用するこ
とができます。
手順書
73
“USERID” を 1 と入力します。
右下のボタンをクリックします。
Test 用の API が実際にリクエストされます。
手順書
74
一定時間待機した後、結果が表示されます。
JSON 形式でデータが返ってきていることを確認します。
手順書後半でこの Web ページへ戻ってくるので、
ブラウザ上でこのページを閉じないでください。
(新しいページは新規タブで表示してください。)
この手順書を通して開発するもの
75
ユーザーへ映画を推薦するシステムを作成します
Azure Machine Learning
1. Azure Machine Learning へ
推薦システムのテンプレートを
インポートする 2. インポートした Experiment の解説
3. Web API の公開
4. Web アプリの開発と
Web API の呼び出し
手順書の流れ
1. ML Studio へ推薦システムのExperimentをインポートする手順の解説
2. インポート後の Experiment の解説
3. Web API の公開方法の解説
3-1. 学習したモデルの保存
3-2. Web API 公開用の Experiment の作成
3-3. API として公開
4. Web アプリケーションからの API 呼び出し
4-1. Web アプリの作成
4-2. GitHub からアプリケーションのインポート・Web Apps 設定
4-3. アプリケーションから API 呼び出し
76
手順書
77
1. ブラウザで以下のページへアクセスします
https://manage.windowsazure.com
※ ML Studio の画面は後ほど参照するため、
この画面は別タブで表示させてください。
3. [+ 新規] をクリックします
2. 左のような画面が表示されます
手順書
78
2. URLを入力します。
(ユニークなURLとなる必要があります。)
1. [コンピューティング]-[WEBアプリ]-
[簡易作成]
の順にクリックします。
3. “新しい App Service プランの作成”
を選択します。
5. WEBアプリの作成をクリックします。
4. “日本(西)” を選択します。
手順書
79
しばらくすると、
Web アプリの作成が完了します
実際にブラウザから動作を見てみましょう
[参照] をクリックします。
手順書
80
新しいタブが開き、
左図のような画面が表示されたら、
Web アプリは正常に動作しています。
このセクションの手順は完了です。
このままではただの綺麗なページなので、
Azure ML で公開した API へアクセスするための
プログラムをこの Webアプリへ展開していきます。
手順書の流れ
1. ML Studio へ推薦システムのExperimentをインポートする手順の解説
2. インポート後の Experiment の解説
3. Web API の公開方法の解説
3-1. 学習したモデルの保存
3-2. Web API 公開用の Experiment の作成
3-3. API として公開
4. Web アプリケーションからの API 呼び出し
4-1. Azure Web Apps の作成
4-2. GitHub からアプリケーションのインポート・Web Apps 設定
4-3. アプリケーションから API 呼び出し
81
手順書
82
Azure ML の API へアクセスするために「、
これから作成済みのサンプルアプリケーションを
GitHub からインポートします
GitHub はオンラインのソースコード置き場です。
この矢印をクリックします。
手順書
83
ソースコードをインポートするために、
[ソース管理からのデプロイの設定] を
クリックします。
左図のようなページが表示されます。
手順書
84
画面を下にスクロースし、
[外部レポジトリ] を選択します。
この矢印をクリックします。
[ソース コードの位置]画面が表示されます。
手順書
85
ここをクリックします。
[発行の設定]画面が表示されます。
[レポジトリのURL]に下記URL を入力します。
入力間違えに気を付けてください。
https://github.com/NT-D/AzureML_Recommend_Sample
手順書
86
左のような画面が表示されます。
30秒ほど経過すると次の画面に遷移します。
手順書
87
左のような画面が表示されればインポートは完了です。
実際にブラウザから動作を見てみましょう
[参照] をクリックします。
手順書
88
左のような画面が表示されます。
先ほどの手順で表示した
青いWebページが表示される場合があります。
その場合には [F5] キーなどを何度か押し、
画面を読み込みなおしてください。
この部分を使うと Azure ML の API を呼び出せますが、
今のままでは動きません。
Azure ML API の URL, Key は人によって異なるので、
それを指定してあげる必要があるためです。
これから、それぞれの URL, Key を設定していきます。
手順書
89
Azure の管理画面に戻ります。
[構成]をクリックします。
手順書
90
[構成]画面が表示されます。
手順書
91
画面を下にスクロールし、
[アプリケーション設定]の箇所を確認します。
私の作成したサンプルアプリは、
ここに入力された値を使用します。
API の URL や Key など、
Web サイトを訪問したユーザーから隠したい情報
を記載する際に [アプリケーション設定] は便利
なので、今後活用してみてください。
手順書
92
左側の[キー]の部分に以下 2 つの値を入れます。
アプリ内でも “apiUrl”,”apiKey” という名前で識別するようにしています。
• apiUrl
• apiKey
大文字・小文字の違いに気を付けてください。
次に、Azure ML API の url, key を確認します。
手順書
93
ここに API key が表示されるので、
コピーします。
※ 私の API key は隠しています。
Azure ML の API ページを表示します。
手順書
94
apiKey の値に、
コピーしてきた文字列を貼り付けます。
次に URL にも同じ操作を行います。
※大切な情報なので資料では塗りつぶしています。
手順書
95
Azure ML の API ページを表示します。
[REQUEST/RESPONSE]をクリックします。
手順書
96
API の詳細な解説ページが表示されます。
ここに書かれている URL をコピーします。
※大切な情報なので資料では塗りつぶして
います。
手順書
97
apiUrl の値に、コピーしてきた文字列を貼り付けます。
※大切な情報なので資料では塗りつぶしています。
手順書
98
[保存]ボタンをクリックして設定を保存します。
これで Azure ML の API を正常に呼び出せるよう
になりました。
このままでも動作するのですが、
みなさんの Web サイトが多くの人にアクセス
されたときに活躍する Azure の機能を学びます。
手順書
99
画面を上にスクロールし、
この画面を表示させます。
[スケール]をクリックします。
手順書
100
[スケール]画面が表示されます。
この画面では Web アプリのパワーや台数を
簡単に変更できます。
[STANDARD]をクリックします。
手順書
101
左のように画面が変わります。
この部分を変更していきます。
手順書
102
試しに、インスタンスサイズを “Large”
に変更してみましょう。
また、インスタンス数を “2”
に変更してみましょう。
[保存] ボタンをクリックします。
たったこれだけの操作で、
Web アプリのパワーと数を増やせました。
手順書の流れ
1. ML Studio へ推薦システムのExperimentをインポートする手順の解説
2. インポート後の Experiment の解説
3. Web API の公開方法の解説
3-1. 学習したモデルの保存
3-2. Web API 公開用の Experiment の作成
3-3. API として公開
4. Web アプリケーションからの API 呼び出し
4-1. Azure Web Apps の作成
4-2. GitHub からアプリケーションのインポート・Web Apps 設定
4-3. アプリケーションから API 呼び出し
103
手順書
104
[参照] をクリックし、Web アプリを表示させます。
手順書
105
この部分を操作していきます。
左の画面が表示されます。
手順書
106
上図のようにテキストボックスに任意のユーザーID を入力後、
[ML API 呼び出し] ボタンをクリックすると、
下図のようにユーザーにお勧めの映画が表示されます。
※ 時間がかかることもあります。
※今回は 14887 のユーザーで試しました。
The Shawshank Redemption とはどのような映画かを Web で調べ、
このユーザーが高く評価していた One Flew Over the Cuckoos Nest と比較し
てみてください。
手順書
手順は以上で終了です。
お疲れ様でした!!
107
参考資料
• Azure ML のチュートリアルやビデオが紹介されているページがこちら
まずは勉強してみたいという方はご活用ください。
https://studio.azureml.net/
• 推薦システム以外にも様々なシステムをインポートできます。
もっと触ってみたいという方はご活用ください。
http://gallery.azureml.net/
108

Weitere ähnliche Inhalte

Was ist angesagt?

Azure MLで何かやる
Azure MLで何かやるAzure MLで何かやる
Azure MLで何かやるYuki Igarashi
 
第5回 cogbot勉強会!
第5回 cogbot勉強会!第5回 cogbot勉強会!
第5回 cogbot勉強会!貴志 上坂
 
Azure Machine Learning Services 概要 - 2019年2月版
Azure Machine Learning Services 概要 - 2019年2月版Azure Machine Learning Services 概要 - 2019年2月版
Azure Machine Learning Services 概要 - 2019年2月版Daiyu Hatakeyama
 
Deep Learning Lab : Build 2020 Update - Reinforcement Learning on Azure Machi...
Deep Learning Lab : Build 2020 Update - Reinforcement Learning on Azure Machi...Deep Learning Lab : Build 2020 Update - Reinforcement Learning on Azure Machi...
Deep Learning Lab : Build 2020 Update - Reinforcement Learning on Azure Machi...Daiyu Hatakeyama
 
InterBEE 2020 Microsoft - AI for Media - Technical Deep Dive
InterBEE 2020 Microsoft - AI for Media - Technical Deep DiveInterBEE 2020 Microsoft - AI for Media - Technical Deep Dive
InterBEE 2020 Microsoft - AI for Media - Technical Deep DiveDaiyu Hatakeyama
 
20181117 azure ml_seminar_1
20181117 azure ml_seminar_120181117 azure ml_seminar_1
20181117 azure ml_seminar_1sady_nitro
 
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...de:code 2017
 
20181117 azure ml_seminar_2
20181117 azure ml_seminar_220181117 azure ml_seminar_2
20181117 azure ml_seminar_2sady_nitro
 
Watson による性格分析 API を使ってみた
Watson による性格分析 API を使ってみたWatson による性格分析 API を使ってみた
Watson による性格分析 API を使ってみたK Kimura
 
このサービスは俺に聞け勉強会(機械学習)
このサービスは俺に聞け勉強会(機械学習)このサービスは俺に聞け勉強会(機械学習)
このサービスは俺に聞け勉強会(機械学習)Satoshi Noto
 
Aws lambdaで[ソンナコ]を実装してみた
Aws lambdaで[ソンナコ]を実装してみたAws lambdaで[ソンナコ]を実装してみた
Aws lambdaで[ソンナコ]を実装してみたFumihito Yokoyama
 
LIFULL HOME'S「かざして検索」リリースの裏側
LIFULL HOME'S「かざして検索」リリースの裏側LIFULL HOME'S「かざして検索」リリースの裏側
LIFULL HOME'S「かざして検索」リリースの裏側Takuro Hanawa
 
機械学習を使った趣味サービスにおける工夫紹介
機械学習を使った趣味サービスにおける工夫紹介機械学習を使った趣味サービスにおける工夫紹介
機械学習を使った趣味サービスにおける工夫紹介syou6162
 
Caching ガイダンスの話
Caching ガイダンスの話Caching ガイダンスの話
Caching ガイダンスの話Sunao Tomita
 
ワタシハ Azure Functions チョットデキル
ワタシハ Azure Functions チョットデキルワタシハ Azure Functions チョットデキル
ワタシハ Azure Functions チョットデキルTsuyoshi Ushio
 
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合SmartNews, Inc.
 
画像解析最前線!WatsonとTensorFlowを比較してみた
画像解析最前線!WatsonとTensorFlowを比較してみた画像解析最前線!WatsonとTensorFlowを比較してみた
画像解析最前線!WatsonとTensorFlowを比較してみたsoftlayerjp
 
今更聞けないストリーム処理のあれとかこれ
今更聞けないストリーム処理のあれとかこれ今更聞けないストリーム処理のあれとかこれ
今更聞けないストリーム処理のあれとかこれTatsuro Hisamori
 
Virtual Machine Scale Sets 概要
Virtual Machine Scale Sets 概要Virtual Machine Scale Sets 概要
Virtual Machine Scale Sets 概要Yui Ashikaga
 
Aws st 20130617-auto_scaling
Aws st 20130617-auto_scalingAws st 20130617-auto_scaling
Aws st 20130617-auto_scalingMakoto Uehara
 

Was ist angesagt? (20)

Azure MLで何かやる
Azure MLで何かやるAzure MLで何かやる
Azure MLで何かやる
 
第5回 cogbot勉強会!
第5回 cogbot勉強会!第5回 cogbot勉強会!
第5回 cogbot勉強会!
 
Azure Machine Learning Services 概要 - 2019年2月版
Azure Machine Learning Services 概要 - 2019年2月版Azure Machine Learning Services 概要 - 2019年2月版
Azure Machine Learning Services 概要 - 2019年2月版
 
Deep Learning Lab : Build 2020 Update - Reinforcement Learning on Azure Machi...
Deep Learning Lab : Build 2020 Update - Reinforcement Learning on Azure Machi...Deep Learning Lab : Build 2020 Update - Reinforcement Learning on Azure Machi...
Deep Learning Lab : Build 2020 Update - Reinforcement Learning on Azure Machi...
 
InterBEE 2020 Microsoft - AI for Media - Technical Deep Dive
InterBEE 2020 Microsoft - AI for Media - Technical Deep DiveInterBEE 2020 Microsoft - AI for Media - Technical Deep Dive
InterBEE 2020 Microsoft - AI for Media - Technical Deep Dive
 
20181117 azure ml_seminar_1
20181117 azure ml_seminar_120181117 azure ml_seminar_1
20181117 azure ml_seminar_1
 
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
 
20181117 azure ml_seminar_2
20181117 azure ml_seminar_220181117 azure ml_seminar_2
20181117 azure ml_seminar_2
 
Watson による性格分析 API を使ってみた
Watson による性格分析 API を使ってみたWatson による性格分析 API を使ってみた
Watson による性格分析 API を使ってみた
 
このサービスは俺に聞け勉強会(機械学習)
このサービスは俺に聞け勉強会(機械学習)このサービスは俺に聞け勉強会(機械学習)
このサービスは俺に聞け勉強会(機械学習)
 
Aws lambdaで[ソンナコ]を実装してみた
Aws lambdaで[ソンナコ]を実装してみたAws lambdaで[ソンナコ]を実装してみた
Aws lambdaで[ソンナコ]を実装してみた
 
LIFULL HOME'S「かざして検索」リリースの裏側
LIFULL HOME'S「かざして検索」リリースの裏側LIFULL HOME'S「かざして検索」リリースの裏側
LIFULL HOME'S「かざして検索」リリースの裏側
 
機械学習を使った趣味サービスにおける工夫紹介
機械学習を使った趣味サービスにおける工夫紹介機械学習を使った趣味サービスにおける工夫紹介
機械学習を使った趣味サービスにおける工夫紹介
 
Caching ガイダンスの話
Caching ガイダンスの話Caching ガイダンスの話
Caching ガイダンスの話
 
ワタシハ Azure Functions チョットデキル
ワタシハ Azure Functions チョットデキルワタシハ Azure Functions チョットデキル
ワタシハ Azure Functions チョットデキル
 
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
 
画像解析最前線!WatsonとTensorFlowを比較してみた
画像解析最前線!WatsonとTensorFlowを比較してみた画像解析最前線!WatsonとTensorFlowを比較してみた
画像解析最前線!WatsonとTensorFlowを比較してみた
 
今更聞けないストリーム処理のあれとかこれ
今更聞けないストリーム処理のあれとかこれ今更聞けないストリーム処理のあれとかこれ
今更聞けないストリーム処理のあれとかこれ
 
Virtual Machine Scale Sets 概要
Virtual Machine Scale Sets 概要Virtual Machine Scale Sets 概要
Virtual Machine Scale Sets 概要
 
Aws st 20130617-auto_scaling
Aws st 20130617-auto_scalingAws st 20130617-auto_scaling
Aws st 20130617-auto_scaling
 

Ähnlich wie 推薦システムを構築する手順書 with Azure Machine Learning

Azure machine learning service 最新の機械学習プラットフォーム
Azure machine learning service 最新の機械学習プラットフォームAzure machine learning service 最新の機械学習プラットフォーム
Azure machine learning service 最新の機械学習プラットフォームKeita Onabuta
 
機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編Daiyu Hatakeyama
 
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)Takeshi Fukuhara
 
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)Sho Nakamura
 
Azure Machine Learning services 2019年6月版
Azure Machine Learning services 2019年6月版Azure Machine Learning services 2019年6月版
Azure Machine Learning services 2019年6月版Daiyu Hatakeyama
 
機械学習応用のためのソフトウェアエンジニアリングパターン
機械学習応用のためのソフトウェアエンジニアリングパターン機械学習応用のためのソフトウェアエンジニアリングパターン
機械学習応用のためのソフトウェアエンジニアリングパターンHironoriTAKEUCHI1
 
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Qiita x Microsoft - 機械学習セミナー Microsoft AI PlatformQiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Qiita x Microsoft - 機械学習セミナー Microsoft AI PlatformDaiyu Hatakeyama
 
Exam prep microsoft_ai900_japanese_210428
Exam prep microsoft_ai900_japanese_210428Exam prep microsoft_ai900_japanese_210428
Exam prep microsoft_ai900_japanese_210428Yukio Saito
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようHideo Takagi
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるnobu_k
 
20180605 azure antenna_workshop
20180605 azure antenna_workshop20180605 azure antenna_workshop
20180605 azure antenna_workshopMiyuki Mochizuki
 
PSpiceの活用方法 (2005年)
PSpiceの活用方法 (2005年)PSpiceの活用方法 (2005年)
PSpiceの活用方法 (2005年)Tsuyoshi Horigome
 
Automated ML (Azure) で始める機械学習の民主化
Automated ML (Azure) で始める機械学習の民主化Automated ML (Azure) で始める機械学習の民主化
Automated ML (Azure) で始める機械学習の民主化Atsushi Yokohama (BEACHSIDE)
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析貴志 上坂
 
[RIT]MLmodeling service
[RIT]MLmodeling service[RIT]MLmodeling service
[RIT]MLmodeling serviceRIT
 
Azure Cognitive Service Personalizer(Preview)
Azure Cognitive Service Personalizer(Preview)Azure Cognitive Service Personalizer(Preview)
Azure Cognitive Service Personalizer(Preview)kekekekenta
 
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介Denodo
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析貴志 上坂
 
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用日本マイクロソフト株式会社
 
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom VisionAzure IoT Edge で Custom Vision
Azure IoT Edge で Custom VisionYoshitaka Seo
 

Ähnlich wie 推薦システムを構築する手順書 with Azure Machine Learning (20)

Azure machine learning service 最新の機械学習プラットフォーム
Azure machine learning service 最新の機械学習プラットフォームAzure machine learning service 最新の機械学習プラットフォーム
Azure machine learning service 最新の機械学習プラットフォーム
 
機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編
 
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
 
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
 
Azure Machine Learning services 2019年6月版
Azure Machine Learning services 2019年6月版Azure Machine Learning services 2019年6月版
Azure Machine Learning services 2019年6月版
 
機械学習応用のためのソフトウェアエンジニアリングパターン
機械学習応用のためのソフトウェアエンジニアリングパターン機械学習応用のためのソフトウェアエンジニアリングパターン
機械学習応用のためのソフトウェアエンジニアリングパターン
 
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Qiita x Microsoft - 機械学習セミナー Microsoft AI PlatformQiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
 
Exam prep microsoft_ai900_japanese_210428
Exam prep microsoft_ai900_japanese_210428Exam prep microsoft_ai900_japanese_210428
Exam prep microsoft_ai900_japanese_210428
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させる
 
20180605 azure antenna_workshop
20180605 azure antenna_workshop20180605 azure antenna_workshop
20180605 azure antenna_workshop
 
PSpiceの活用方法 (2005年)
PSpiceの活用方法 (2005年)PSpiceの活用方法 (2005年)
PSpiceの活用方法 (2005年)
 
Automated ML (Azure) で始める機械学習の民主化
Automated ML (Azure) で始める機械学習の民主化Automated ML (Azure) で始める機械学習の民主化
Automated ML (Azure) で始める機械学習の民主化
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
 
[RIT]MLmodeling service
[RIT]MLmodeling service[RIT]MLmodeling service
[RIT]MLmodeling service
 
Azure Cognitive Service Personalizer(Preview)
Azure Cognitive Service Personalizer(Preview)Azure Cognitive Service Personalizer(Preview)
Azure Cognitive Service Personalizer(Preview)
 
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
 
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
 
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom VisionAzure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
 

推薦システムを構築する手順書 with Azure Machine Learning

Hinweis der Redaktion

  1. Visualize 前に Run をする必要がある 移動・選択の切り替え方法を説明する Delete の仕方をお伝えする