AzureMLでロジスティック回帰して、その結果をRに取り込んでggplot2でグラフ書いてみた
この記事は、Microsoft Azure Advent Calendar 2016 の18日目の記事です。
Microsoft Azure Advent Calendar 2016
http://qiita.com/advent-calendar/2016/azure
機械学習を試してみたいと思ったとき、
AzureMLを使うと、マウスをぽちぽちするだけで、
とりあえず出来てしまうので、とてもお手軽です。
AzureMLはただお手軽なだけでなく、
PythonやRに結果を取り込んでさらに分析を行うことも出来ます。
この記事では、そのような連携の第一歩として、
お手軽に作ったロジスティック回帰の結果をRに取り込んで、グラフを書いて見ることにします。
AzureMLへのアクセス
以下URLの、AzureMLのサイトにアクセスします。
Machine Learning | Microsoft Azure
https://azure.microsoft.com/ja-jp/services/machine-learning/
この画面で「今すぐご利用ください」のリンクで表示されるメニューで、
「Guest Workspace 8-hour trial」の「Enter」リンクを押すと
AzureMLをゲスト利用することが出来ます。
※お金がある人は、どうぞ有償でご利用下さい。
以下のような、
「Microsoft Azure Machine Learning Studio」という画面に遷移します。
ロジスティック回帰の実施: Experimentの作成
左側メニューで「Experiments」を選んだ状態で、
左下の「+NEW」から「Blank Experiment」を選択します。
左側のパレットから、モデル・データ・アルゴリズムを選び、下の図のように配置します。
選択するアイテム:
- Machine Learning > Train > Train Model
- Machine Learning > Initialize Model > Classification > Two-Class Logistic Regression
- Saved Dataset > Samples > Iris Two Class Data
- Data Transformation > Sample and Split > Split Data
- Machine Learning > Score > Score Model
- Data Format Conversions > Convert to CSV
「Train Model」のパラメータは、次の図のように設定します。
ロジスティック回帰の実施: Experimentの実行
Exprimentが作成出来たら、下側の「Run」で実行します。
しばらく待つと、以下の画像のように全ての処理が済みになります。
結果のRへの取り込み
処理済みのExperimentから以下の画像のように、
「Convert To CSV」→「Result dataset」→「Open in new Notebook」→「R」
を選びます。
以下の画像のようにjupyterが起動します。
各セルで順に、Ctrl+Enterを押すと、以下のように結果が表示されます。
「Insert」→「Insert Cell Below」でセルを追加し、
以下のように入力し、Ctrl+Enterを押すと次のようなグラフを表示出来ます。
library(ggplot2)
library(dplyr)
dat2 <- dat %>% dplyr::mutate(classFlag = ifelse(Class == 1, "1", "0"))
ggplot(data=dat2, aes(x=Scored.Probabilities, fill=classFlag)) + geom_histogram()
以上で、ロジスティック回帰とその結果のグラフ描画を行うことが出来ました。
私は、機械学習のライブラリで試した結果の分析やレポーティングを行う時に、
その処理結果をRに取り込むことが多いのですが。
AzureMLの場合は、
このエントリで示したように拍子抜けするくらい簡単に結果を取り込むことができます。