Posted at

Azure Machine Learningを無料で始める

More than 1 year has passed since last update.

Azure Machine LearningはAzureのサブスクリプションがなくてもMicrosoftアカウントさえあればだれでも無料で利用することができます。


studioにログインする

Azure Machine LearningはAzure Machine Learning StudioというWebアプリを用いて利用することができます。

まずはhttp://studio.azureml.netにアクセスし、右上のSign Inボタンからサインインします。

サインインするMicrosoftアカウントはAzureサブスクリプションを持っている必要はありません。※すでにサブスクリプションを持っている人も無料で利用できます

サインインできたらSettingを見てみると、Workspace TypeがFreeとなっていて、WorkSpace Strorageに10GBが割り当てられています。

つまり無料で10GB分のワークシートを作成することができます。


ワークシートを作成する

ワークシートは左下のNEWから作成することができます。

Blank Experimentをクリックして空のワークシートを作成します。

今回は機械学習に用いるデータはすでに用意されているサンプルを利用します。

左のペインから「Adult Census Income Binary Classification dataset」を検索して真ん中のシートにドラッグアンドドロップします

このデータは成人の収入が50Kを超えてるかどうかの国勢調査データです。

1週間の労働時間や性別などさまざまなデータがあります。

収入はincomeのカラムに表示されます。

続いて左のペインから「Select Columns in Dataset」を配置してデータセットとつなげます。

このモジュールはデータセットから必要なカラムのみ下のモジュールにつなげる役割をもちます。

カラムを選択するにはモジュールをクリックして右のペインにある「Launch Column Selector」をクリックします。

必要なカラムを絞ります。収入に関係しそうなカラムを適当に右のリストに移動させます。

ただしincomeカラムだけは絶対に右のリストに移動させてください。(incomeカラムが予測したいデータなので消してはダメです)

続いて学習データとテストデータに分割します。

左のペインから「Split Data」を検索し、シートに配置、Select Columns in Datasetとつなげます。

Split Dataをクリックして右のペインにある「Fraction of rows in...」の数値を0.7にします。

ここの数値は何割学習データに割くかを指します。0.7の場合、7割りのデータを学習用データに、3割りのデータをテストデータに利用します。

続いて機械学習用モジュールを配置します。


  • Two-Class Support Vector Machine

  • Train Model

  • Score Model

  • Evaluate Model

の4つを図のように配置します。

続いてTrainModelをクリックして右のペインにある「Launch column selector」をクリックします。

テキストボックスに「income」と入力してincomeカラムを指定します。

ここで指定したカラムは機械学習で予測するデータになります。

つまり今回の場合、2クラスサポートベクターマシンでincomeカラムを2クラス識別します。


機械学習を実行する

ここまでできたら「Run」ボタンを押して機械学習を実行します。

しばらく待つと「Finished runnning」と表示されて学習が終了します。


結果を見る

Score Modelの下を右クリックして「Visualize」をクリックします。

機械学習によって識別した結果が表示されます。

incomeカラムとスコア結果のScored labelsを比較すると、大体同じ値に識別できていることがわかります。

しかしこれでは統計的にどれぐらい精度があるのかわかりません。

そこでEvaluate Modelの下を右クリックしてVisailizeを押します。

F1 Scoreを見ます。この値はF値と呼ばれる0~1の間で表される識別精度の指標です。0.429ということはかなり識別精度が悪いことがわかります。


おわりに

今回はAzure MLのデモとして、無料で2クラスサポートベクターマシーンで識別を行いました。

結果はあまりいい精度になりませんでしたが特徴量の選択、アルゴリズムの選択などを工夫することで精度を向上させることができます。

みなさんもぜひAzure MLで機械学習の世界を体験してください。