1. HOME
  2. ブログ
  3. Azure Machine Learning
  4. だれでも分かる機械学習(入門)第2回 Azure Machine Learningツール活用

BLOG

ブログ

Azure Machine Learning

だれでも分かる機械学習(入門)第2回 Azure Machine Learningツール活用

Azure Machine Learningツール活用

 

 

Azure Machine Learningとは

Azure Machine Learningとは

統合されたエンドツーエンドのデータ サイエンスおよび高度な分析ソリューションです。 データ サイエンティストは、このソリューションを使用してデータの準備、実験の開発、モデルのデプロイをクラウド規模で行うことができます。

Microsoftが提供する、無料で利用可能なクラウド環境での機械学習ソリューションです。

 

実際に使うのはMicrosoft Azure Machine Learning Studio

Microsoft Azure Machine Learning Studio は、データを活用した予測分析ソリューションの構築、テスト、デプロイをドラッグ アンド ドロップで行うことができる、コラボレーションに対応したツールです。Machine Learning Studio でモデルを Web サービスとして公開すれば、カスタム アプリや BI ツール (Excel など) からそのモデルを簡単に利用することができます。

Machine Learning Studio があれば、最新のデータ サイエンスとクラウド リソースを活用して、独自に所有するデータを使った予測分析を実現することができます。

https://docs.microsoft.com/ja-jp/azure/machine-learning/studio/what-is-ml-studio

 

 

Azure Machine Learningでできる機械学習

 

  • クラス分類
  • クラスタリング
  • 回帰
  • 異常検知

 

今回は、クラスタリングを試しながらAzure Machine Learning Studioに慣れてみたいと思います。

使用するデータセットは、クラスタリングの定番中の定番、あやめのデータを利用します。

あやめのデータはたった4個の計測値で3品種に分類可能です。

この4個の計測値をもとに、Azure Machine Learning Studioを利用して、機械学習のアルゴリズムを通じてしっかりと3品種に分類できるかどうかを試してみたいと思います。

 

 

 

Azure Machine Learningの登録

https://studio.azureml.net/へ遷移してサインアップする

 

サインインアカウントがなければ、下記URLから作成してください。

https://signup.live.com/signup

 

 

これ以降は指示に従い、情報を入力して作業を完了ください。

 

②サインアップ後、当該画面へ遷移することを確認する

 

 

 

 

Azure Machine Learningで機械学習(クラスタリング)を始める

それでは、いつものように、最短時間、最短手順で設定しましょう

 

①データセットをアップロードする

このCSVデータをご利用ください

 

左ナビのDATASETSをクリックして、左下 + NEW ボタンをクリック

 

 

FROM LOCAL FILEをクリックして該当ファイルを指定する

 

 

該当データファイルがアップロードされたことを確認する

 

 

 

 

②実験キャンパスを描画する

 

EXPERIMENTSをクリック、左下の +NEW をクリックする

 

 

Blank Experimentをクリック

 

 

実験キャンパスが描画されたのを確認する

 

 

今回作成するキャンバスの完成形イメージ

 

 

 

③実際に学習済みモデルを作成する

 

先ほどアップロードしたiris_master_data.csvを下記のようにドラッグ&ドロップで配置する

 

 

Split Dataをドラッグ&ドロップして、iris_master_data.csvをトレーニング用と検証用に分割する

分割する割合を、0.8(80%) – 0.2(20%) とする(0.8がトレーニング用)

 

 

つづいて、学習モジュールと学習モデルを指定します。

今回、クラスタリングの学習モジュール(アルゴリズム)は、K-Means Clusteringを使用します。

また、学習モデル(学習結果を保存する器)は、Train Clustering Modelを指定します。

 

 

学習モデルでは、カラムの設定が必須です。

そこで、Train Clustering Modelをクリックして、右上のColumn Set 下の

Launch column selectorを使って使用するカラムを設定します。

 

 

下記のように、No. カラムを除外します。No.カラムは計測値として全く関係ないためです。

そして、チェックマークをクリックして終了します。

 

 

Select Columns in Datasetモジュールを使って、学習モデルでクラス分けされた結果を表示可能にします。

また、Assign Data to Clustersモジュールを使って、学習したモデルを別のデータを使って検証できるようにします。

 

 

ここでは、Split Dataの0.2(20%)のデータを使い、

学習済みモデルを使って検証可能とするAssign Data to Clustersモジュールを利用する

 

 

Select Columns in Datasetモジュールで出力するカラムを設定する

 

Assign Columns in Dataset モジュールで検証データを使って検証した結果を、Select Columns in Datasetで表示可能とする

 

 

CSV出力可能とするためのモジュール設定をおこなう

 

 

最後に、K-Means Clusteringモジュールの調整を行います

3品種に分類可能とあらかじめわかっているので、今回は、クラスター数を3にしておきます。

また、Iterationsを500にしておきます。

 

 

 

④デプロイする

RUNをクリックしてデプロイします。

成功すると、Finished runningとなります。

 

 

 

⑤ビジュアライズしてみる

デプロイ後、Select Columns in Datasetを右クリックしてVisualizeしてみる

 

 

Visualize結果は下記の通り。

 

 

CSV出力して同様に確認してみる

 

 

学習済み分類結果は、下記CSVの通り。

 

 

 

⑥この学習済みモデルを本当に信頼して良さそうか?検証してみる

 

もともとのデータと比較して、しっかりと分類されたかどうか、念のため、目検してみます。

実は、No.1-50、51-100、101-150が同じ分類になるようにあらかじめ、データ作成されておりました。

 

 

上記に基づくと、下記の結果は、あまり精度が出ていないようですね。

下記では、1-50:0番  51-100:1番  101-150:2番に振り分けられているとよかったです…

 

 

3等分されていると理想です。

 

 

 

⑦精度を高められるか?

a) metricsを変えてみる

 

 

多少、精度が上がってきました。

今回は、1-50 : 1 、51-100:2、101-150:0 が理想的。

ヒストグラムもおおよそ、均等に近づきました。

 

 

b) 反復回数を500→2000に上げてみる

結果はあまり変わりません。

どうやら、計測データ量を増やした方が良さそうです。

 

 

 

⑧ウェブサービスで活用可能とする

 

SET UP WEB SERVICE のUpdate Predictive Experimentをクリック

 

 

RUNを実行

 

 

DEPROY WEB SEVICEを実行

 

 

TESTをクリック

実際は、API key を使ってWEBアプリケーション化することになる。

 

下記の赤枠に、試行したいデータをセットして確認してみる。

右下のAssignmentsに答えが出る

 

 

 

まとめ

今回は、Azure Machine Learning を使って、クラスタリングを試行しました。

一連の流れを踏めば、非エンジニアの方でも機械学習を活用いただけることが十分に伝わったのではないでしょうか。

次回、第三回については予測を試してみようと思います。

 

 

 

 

 

 

関連記事