だれでも分かる機械学習(入門)第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で機械学習(クラスタリング)を始める
それでは、いつものように、最短時間、最短手順で設定しましょう
①データセットをアップロードする
左ナビの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 を使って、クラスタリングを試行しました。
一連の流れを踏めば、非エンジニアの方でも機械学習を活用いただけることが十分に伝わったのではないでしょうか。
次回、第三回については予測を試してみようと思います。
コメントを投稿するにはログインしてください。