#チュートリアル
Microsoft AzureのMachineLearingのチュートリアルをやってみました。
ドキュメントの一部翻訳が変だったり、設定方法が変わっていたので、手順をまとめてみました。
今回は事前に用意された自動車に関するサンプルデータを用いて自動車の価格の予測を行います。
ドキュメントにはもう少し詳しい説明が書かれているので、一緒に見ながら進めるとわかりやすいと思います。
http://azure.microsoft.com/ja-jp/documentation/articles/machine-learning-create-experiment/
#準備
まずはAzureポータルへログインし、MLワークスペースの作成を行います。
左下のNEWボタンをクリックして、「Blank Experiments」を選択します。
#データの下準備
画面上部のタイトルを入力します。ここでは「自動車価格の予想」としておきます。
使うデータを用意します。
検索窓にAutomobileと打ち込み、「Automobile price data」を実験キャンバスに移動します。
「Automobile price data」下部のボタンを右クリックし、「visualize」をクリックすると、データの内容が見れます。
自動車メーカーや燃費、サイズ、価格などのデータが存在していることがわかります。
このデータをもとに分析を行うために、欠損値の処理や分析対象のカラムの設定を行っていきます。
まずは、不要な列の削除を行います。「Project Columns」を検索し、キャンバスへ移動して、最初に設定した「Automobile price data (Raw)」と接続します。
画面右側の「Properties」から「Launch column selector」を起動し、「Begin With ALL columns」、「Exclude columns normalized-losses」と設定します。
一旦ここでRunをクリックして処理を実行すると、「Project Columns」の「visualize」が見れるようになります。
「normalized-losses」列が削除されたことを確認できると思います。
次に欠損値の含まれた行を削除します。
「Missing Values Scrubber」をキャンバスに移動して、「Project Columns」に接続します。
画面右側の「Properties」で「For missing values」を「remove entire row」とします。
Runをクリックして処理を実行し、「visualize」でデータを見ると欠損値のある行が削除されて、行数が減っていることがわかります。
これで分析の前の処理が完了しました。
#分析
次に分析対象とする列を選択します。
上記と同様に「Project Columns」をキャンバスへ移動し、「Missing Values Scrubber」と接続します。
画面右側の「Properties」から「Launch column selector」を起動し、「Begin With No columns」、
「include column names」を選択して、必要な列名を選択していきます。
次に学習用データとテスト用データに分割するために、「split」をキャンバスへ設定します。
振り分け割合を設定するために「Fraction of rows in the first」を75%と設定します。
学習アルゴリズムは線形回帰を使うので、「Linear Regression」と
学習するためのモジュール「Train Model」をキャンバスへ設置します。「Train Model」を「Linear Regression」と「 Split
」に接続します。
今回は価格を予想するので、「Train Model」の「Properties」から「Launch column selector」を開き「price」を選択します。
モデルに基づいて決定されて価格を評価するために「Score Model」をキャンバスへ設定して、
「Train Model」に接続します。
ここでRunを実行して、「Score Model」の「visualize」を見ると、予測された値「Scored Labels」が表示されるようになりました。
予測の精度を確認するために「Evaluate Model」をキャンバスへ設置して、「Score Model」へ接続します。
Runを実行して、「Evaluate Model」の「visualize」を見ると、「統計値」が表示されます。
#モデルの保存
モデルに納得できたならば学習したモデルを保存します。
「Traine model」の下部ボタンをクリックして、「Save as trained Model」をクリックします。
「Linear Regression」と「Train Model」を削除して、上記で作成したモデルに置き換えます。
#WEBサービスの設定
上記の分析モデルを実際にWEBサービスとして使用する設定を行っていきます。
「Web Service Input」「Web Service Output」をそれぞれ、「Score Model」の上下に接続して、Runを実行します。
最後に「Publish Web Service」をクリックすると、「web services」の画面へ移動します。
testを押すと、入力画面ができるので、データを入力すると予測した結果が返されます。
「price」は0など適当なデータを入力します。