チュートリアル
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など適当なデータを入力します。