17
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MicrosoftAzureのMachineLearingのチュートリアルをやってみた

Posted at

#チュートリアル
Microsoft AzureのMachineLearingのチュートリアルをやってみました。
ドキュメントの一部翻訳が変だったり、設定方法が変わっていたので、手順をまとめてみました。
今回は事前に用意された自動車に関するサンプルデータを用いて自動車の価格の予測を行います。

ドキュメントにはもう少し詳しい説明が書かれているので、一緒に見ながら進めるとわかりやすいと思います。
http://azure.microsoft.com/ja-jp/documentation/articles/machine-learning-create-experiment/

#準備
まずはAzureポータルへログインし、MLワークスペースの作成を行います。
スクリーンショット 2015-03-04 11.13.22.png

作成後にML Studioにサインインします。
スクリーンショット 2015-03-04 11.13.46.png

左下のNEWボタンをクリックして、「Blank Experiments」を選択します。
スクリーンショット 2015-03-04 11.17.56.png

#データの下準備
画面上部のタイトルを入力します。ここでは「自動車価格の予想」としておきます。
スクリーンショット 2015-03-07 9.30.23.png

使うデータを用意します。
検索窓にAutomobileと打ち込み、「Automobile price data」を実験キャンバスに移動します。
スクリーンショット 2015-03-07 12.52.02.png

「Automobile price data」下部のボタンを右クリックし、「visualize」をクリックすると、データの内容が見れます。
自動車メーカーや燃費、サイズ、価格などのデータが存在していることがわかります。
スクリーンショット 2015-03-07 12.53.09.png

このデータをもとに分析を行うために、欠損値の処理や分析対象のカラムの設定を行っていきます。
まずは、不要な列の削除を行います。「Project Columns」を検索し、キャンバスへ移動して、最初に設定した「Automobile price data (Raw)」と接続します。
スクリーンショット 2015-03-07 12.55.41.png

画面右側の「Properties」から「Launch column selector」を起動し、「Begin With ALL columns」、「Exclude columns normalized-losses」と設定します。
一旦ここでRunをクリックして処理を実行すると、「Project Columns」の「visualize」が見れるようになります。
「normalized-losses」列が削除されたことを確認できると思います。
スクリーンショット 2015-03-07 13.01.14.png

次に欠損値の含まれた行を削除します。
「Missing Values Scrubber」をキャンバスに移動して、「Project Columns」に接続します。
スクリーンショット 2015-03-07 13.01.54.png

画面右側の「Properties」で「For missing values」を「remove entire row」とします。
スクリーンショット 2015-03-07 13.04.12.png

Runをクリックして処理を実行し、「visualize」でデータを見ると欠損値のある行が削除されて、行数が減っていることがわかります。

これで分析の前の処理が完了しました。

#分析
次に分析対象とする列を選択します。
上記と同様に「Project Columns」をキャンバスへ移動し、「Missing Values Scrubber」と接続します。
スクリーンショット 2015-03-07 13.08.56.png

画面右側の「Properties」から「Launch column selector」を起動し、「Begin With No columns」、
「include column names」を選択して、必要な列名を選択していきます。
スクリーンショット 2015-03-07 13.12.51.png

次に学習用データとテスト用データに分割するために、「split」をキャンバスへ設定します。
振り分け割合を設定するために「Fraction of rows in the first」を75%と設定します。
スクリーンショット 2015-03-07 13.15.11.png

学習アルゴリズムは線形回帰を使うので、「Linear Regression」と
学習するためのモジュール「Train Model」をキャンバスへ設置します。「Train Model」を「Linear Regression」と「 Split
」に接続します。
スクリーンショット 2015-03-07 13.17.54.png

今回は価格を予想するので、「Train Model」の「Properties」から「Launch column selector」を開き「price」を選択します。
スクリーンショット 2015-03-07 13.18.37.png

モデルに基づいて決定されて価格を評価するために「Score Model」をキャンバスへ設定して、
「Train Model」に接続します。
スクリーンショット 2015-03-07 13.22.58.png

ここでRunを実行して、「Score Model」の「visualize」を見ると、予測された値「Scored Labels」が表示されるようになりました。
スクリーンショット 2015-03-07 13.25.31.png

予測の精度を確認するために「Evaluate Model」をキャンバスへ設置して、「Score Model」へ接続します。
Runを実行して、「Evaluate Model」の「visualize」を見ると、「統計値」が表示されます。
スクリーンショット 2015-03-07 13.27.27.png

#モデルの保存

モデルに納得できたならば学習したモデルを保存します。
「Traine model」の下部ボタンをクリックして、「Save as trained Model」をクリックします。
スクリーンショット 2015-03-07 13.28.26.png

このモデルを名前をつけて保存します。
スクリーンショット 2015-03-07 13.29.07.png

「Linear Regression」と「Train Model」を削除して、上記で作成したモデルに置き換えます。
スクリーンショット 2015-03-07 13.33.06.png

#WEBサービスの設定
上記の分析モデルを実際にWEBサービスとして使用する設定を行っていきます。
「Web Service Input」「Web Service Output」をそれぞれ、「Score Model」の上下に接続して、Runを実行します。
スクリーンショット 2015-03-07 13.36.12.png

最後に「Publish Web Service」をクリックすると、「web services」の画面へ移動します。
スクリーンショット 2015-03-07 13.37.29.png

testを押すと、入力画面ができるので、データを入力すると予測した結果が返されます。
「price」は0など適当なデータを入力します。
スクリーンショット 2015-03-07 13.40.38.png

計算が終わると、データが帰ってきます。今回の場合は、12396.94..という予測値になりました。
スクリーンショット 2015-03-07 13.40.05.png

17
19
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?