Azure Machine Learning Studioによる機械学習入門

最近ではマスメディアなどの影響もあり「AI」というワードを耳にする機会が増えています。
AI関連のテクノロジーの中でも機械学習は特に人気があり、クラウドにおいても様々なタイプの機械学習サービスが提供されています。
これらのサービスが登場したことで自社のシステムやサービスで機械学習を利用することが以前より容易になったものの、本格的に活用するためには機械学習に関する高度な知識やスキルが求められ、導入の敷居は依然として高いままとなっています。
このような状況の中、Microsoft Azure(以下「Azure」と呼びます。)は機械学習サービスの一つとして「Azure Machine Learning Studio (クラシック)」を提供しています。
Azure Machine Learning Studio (クラシック)ではドラックアンドドロップ操作でモデルが構築できるなどMicrosoftのグラフィカルユーザーインタフェースに関する強みが活かされており、機械学習の導入の敷居を下げる可能性を秘めた製品として注目されています。
このコラムでは、Azure Machine Learning Studio (クラシック)の概要や活用例を解説すると共に、基本的な使い方を紹介します。

Azure Machine Learning Studio (クラシック)について

Azure Machine Learning Studio (クラシック)とは何か

冒頭で述べように、Azure Machine Learning Studio (クラシック)はAzureの機械学習サービスであり、Azure Machine Learning Studio (クラシック)を使うことによって機械学習モデルの構築からエンドポイントの提供までをワンストップで行うことができます。
Azure Machine Learning Studio (クラシック)では「モジュール」と呼ばれる部品を配置し、モジュールの入力と出力をドラッグアンドドロップで接続することで機械学習モデルを構築します。
詳しくはこのコラムの後半で紹介しますが、直感的な操作で機械学習のモデルを構築できることが特徴となっています。

Azure Machine Learningとの比較

既にお気づきとは思いますが、Azure Machine Learning Studio (クラシック)には「クラシック」というワードがついてきます。
この点はAzureが2018年12月に機械学習サービスである「Azure Machine Learning」の提供を開始したことに起因しており、「Azure Machine Learning Studio」と「Azure Machine Learning」では名前が似ていて混同しやすいため、違いを強調するために「クラシック」というワードが付加されるに至ったと考えられます。
後発であるAzure Machine Learningの方が細かな点で機能が強化されていますが、基本的な機能は共通しています。
また、Azure Machine Learning Studio (クラシック)ではPythonに加えてR言語をサポートしているなど、Azure Machine Learningにはない特徴を備えています。

Azure Machine Learning Studio (クラシック)の活用例

機械学習の手法は「教師あり学習」と「教師なし学習」の大きく2つに分けられ、教師あり学習の代表例としては「分類」と「回帰」の2つがあります。
分類とは、ある対象が備える属性などに基づいてその対象をいくつかのグループに分ける手法であり、スパムメール判定や文字認識などに応用されます。
一方、回帰とは、与えられた条件の下で得られる結果を推定する手法であり、人口予測や需要予測などに応用されます。
分類と回帰の2つは原因から結果を予測するという点で共通していますが、分類の結果がクラス(グループ)であるのに対し、回帰の結果は数値である点が異なっています。
以上を踏まえ、Azure Machine Learning Studio (クラシック)の活用例として農業を対象とした場合、分類を応用して農作物の良否を大きさ・重さ・形状・色などから自動で判別したり、回帰を応用して気圧・気温・降雨量などから収穫量を予測したりすることなどが考えられます。

Azure Machine Learning Studio (クラシック)の使い方

前段では、Azure Machine Learning Studio (クラシック)の概要と活用例を解説しました。
Azure Machine Learning Studio (クラシック)ではドラックアンドドロップ操作により直感的に機械学習のモデルを構築することができます。
以下、Azure Machine Learning Studio (クラシック)の基本的な使い方として、自動車のスペックから販売価格を予測するための機械学習モデルの構築とテストを行う手順を紹介します。

モデルの作成

機械学習モデルのトレーニングや利用を行うのに先立ち、Azure Machine Learning Studio (クラシック)のリソースである「モデル」を作成する必要があります。 モデルを作成するにはブラウザを起動して下記のURLへアクセスします。
https://studio.azureml.net/別ウィンドウで開きます

Microsoft Azure Machine Learning Studio (classic)のページが表示された後、ページ内の「Sign In」ボタンをクリックします。

サインインページが表示された後、Azureアカウントのメールアドレスを入力してから「次へ」ボタンをクリックします。

パスワードの入力ページが表示された後、Azureアカウントのパスワードを入力してから「サインイン」ボタンをクリックします。

サインイン完了後、ページの左下に表示される「NEW」ボタンをクリックします。

NEWモーダルが表示された後、「Blank Experiment」のカードをクリックします。

モデルの作成が完了し、モデル編集ページが表示された後、「Experiment created on (日付)」のテキストをクリックして「Automobile price prediction」と入力して実験の名前を変更します。

Experimentの名前を変更した後、ページ右上の検索窓に「automobile」と入力して「Automobile price data (Raw)」という名前のデータセットを検索します。
データセットが表示された後、データセットを実験キャンバス(「Drag Items Here」の矢印などが表示されているエリア)へドラッグアンドドロップします。

実験キャンバスにAutomobile price data (Raw)のデータセットが追加された後、データセットの「①」の部分をクリックするとメニューが表示され、メニューの中から「Visualize」を選んでクリックするとデータの内容を確認することができます。

モデルのトレーニング

モデルを作成した後は、モデルにデータを与えてトレーニングを行う必要があります。
モデルをトレーニングするのに先立ち、前処理としてデータの欠損の多い2列目の「normalized-losses」列を「Select Columns in Dataset」モジュールを利用して削除します。

Select Columns in Datasetモジュールを利用するには、ページ右上の検索窓に「select columns」と入力してSelect Columns in Datasetモジュールを検索します。 モジュールが表示された後、モジュールを実験キャンバスへドラッグアンドドロップします。

実験キャンバスにSelect Columns in Datasetモジュールが追加された後、Automobile price data (Raw)データセットの出力とSelect Columns in Datasetモジュールの入力をドラッグアンドドロップで接続します。

接続が完了した後、Select Columns in Datasetモジュールをクリックしてからページ右側に表示される「Launch column selector」をクリックします。

Select Columnsダイアログが表示された後、ダイアログの左側にある「WITH RULES」をクリックし、「ALL COLUMNS」を選択し、「INCLUDE」のセレクトボックスをクリックしてから「EXCLUDE」を選んでクリックし、さらにcolumn namesとして「normalized-losses」を選んでクリックします。

設定が完了した後、ダイアログ右下のチェックマークをクリックして設定を保存します。
以下、同様の手順で下記のモジュールを上から順に追加・設定・接続します。
なお、(RUN)の項目ではページの下側にある「RUN」ボタンをクリックして実験を実行します。

  • Clean Missing Data / Cleaning Mode = Remove entire row
  • (RUN)
  • Select Columns in Dataset / WITH RULES → NO COLUMNS → Include → column names → make body-style wheel-base engine-size horsepower peak-rpm highway-mpg price
  • Split Data / Fraction of rows in the first output dataset = 0.75
  • (RUN)
  • Linear Regression
  • Train Model / BY NAME → AVAILABLE COLUMNS = price以外、SELECTED COLUMNS = price
  • (RUN)

Clean Missing DataモジュールとSplit Dataモジュールは2点の出力を備えており、いずれも左側の出力を使用します。
また、Train Modelモジュールは2点の入力を備えており、左側にLinear Regressionモジュールの出力、右側にSplit Dataモジュールの出力を接続します。

モデルの利用

トレーニングしたモデルを利用して自動車の販売価格を予測します。
モデルのトレーニングの場合と同様に、下記のモジュールを上から順に追加・設定・接続します。

  • Score Model
  • Evaluate Model

Score Modelモジュールは2点の入力を備えており、左側にTrain Modelモジュールの出力、右側にSplit Dataモジュールの右側の出力を接続します。
また、Evaluate Modelモジュールは2点の入力を備えており、左側にScore Modelモジュールの出力を接続します。

接続が完了した後、「RUN」ボタンをクリックして実験を実行します。
予測結果を表示するにはScore Modelモジュールのメニューから「Visualize」を選んでクリックします。

モデルの品質を表示するにはEvaluate Modelモジュールのメニューから「Visualize」を選んでクリックします。

クリーンアップ

ページの左側にある「EXPERIMENTS」メニューをクリックした後、作成した実験を選択してからページの下側にある「DELETE」ボタンをクリックして実験を削除します。

おわりに

機械学習は様々な情報通信技術の中でもとりわけ注目を集めている分野ですが、同時に様々な知識やスキルが求められる分野でもあります。機械学習をよく知らない人であっても簡単に利用できるAzure Machine Learning Studio (クラシック)は学習ツールとしても優れています。

移行準備段階で知っておくべきMicrosoft Azureの
サービスを学び、具体的にクラウド検討を考える!

ネットワークからクラウドまでトータルサポート!!
NTT東日本のクラウド導入・運用サービスを確認してください!!

Amazon Web Services(AWS)、Microsoft Azureの
導入支援サービスのご相談、お問い合わせをお待ちしております。

ページ上部へ戻る