読者です 読者をやめる 読者になる 読者になる

Beginning AI

機械学習と深層学習 

Azure Machine Learningで超簡単に機械学習を始めてみよう!

機械学習 Azure Machine Learning

何をするのか

今回は、Azure Machine Learningを使って、自動車の価格予想を機械学習で行います。 自動車の様々な特徴(エンジンの種類、メーカー、ドアの数)から価格を予想することを目指します。

https://gyazo.com/6c888422e1df65bb899792397df91990

また、この記事は実際に手を動かすことを前提としています。 Azureの説明はしません!さっそく以下のリンクからAzureの登録をしましょう! ちなみに、無料な上に2万分のAzureクレジット(一ヶ月内有効)がもらえます。

azure.microsoft.com

※詳細のAzure登録方法が知りたい方はこちらを

blog.beginning-ai.com

Experimentを作成する

※この記事用のworkspaceが一つあるという前提で、進めていきます。

Azure Machine Learningでは基本的に、Experiment上で作業を行います。 Experimentを作成するために、フッターにあるNewボタンをクリックします。

https://gyazo.com/74bbbcd14543e5151cf1703532a7224f

Newボタンをクリックすると、以下の様な画面が現れるので、EXPERIMENTをクリックし、Blank Experimentを選択します。

https://gyazo.com/80013ddee3c263cfc3faae62bf38011f

データをセットする

機械学習を行うためには、データが必要です。 今回は、サンプルデータを使用します。

Azure Machine Learning には、予めサンプルデータセットが容易されているので、それを利用します。 今回は、自動車の値段とその自動車の特徴が含まれているデータセットを利用します。

https://gyazo.com/c83afc355d4e43b95586d8eba5693ca8

使用する特徴を選択する

データセットの中には、様々なデータセットがありますが、今回は以下の特徴を選択します。

  • price(値段)
  • engine-type(エンジンのタイプ)
  • make(車のメーカー)
  • fuel-type(燃料のタイプ)
  • num-of-doors(ドアの数)
  • body-style (車の種類)
  • engine-location (エンジンの場所)

データセットの特徴を選択するためには、Select Colums in Datasetsを使用します。

https://gyazo.com/8463f6a6eeec938fb40447b0da599cdf

Select Colums in Datasetsを設置することができたら、実際にデータセットのカラムを選択します。 設置したSelect Colums in Datasetsをクリックして、Launch column selectorをクリックします。

https://gyazo.com/523db52c6bb699703a14bb8ec28ea530

カラムを選択し、チェックボタンをクリックします。

https://gyazo.com/47c02a6c4732573f40b2a4dfe4b31dab

これで、カラムを選択することができました。 最後に、Automobile price data (Raw)とSelect Colums in Datasetsを繋げましょう。

https://gyazo.com/fe437d44adad4cc73bca36bbaa1729e7

欠損があるレコードを削除する。

サンプルデータには、欠損があるレコードがあります。欠損があると予測の結果が大きく変わってしまうため、そのデータを削除します。

https://gyazo.com/a153be0de3b568432d1223457a975899

Clean Missing Dataを利用して、欠損しているデータを削除します。

https://gyazo.com/97a1cb2a86efee020fc3d18c26c37737

Clean Missing Dataを配置することができたら、Clean Missing Dataを、Select Colums in Datasetsに繋げましょう。

学習用データ分を確保する

機械学習を行う時は、データセットを学習させる用とテストする用に分けるのが一般的です。 今回は、学習用に70%のデータ・セットを使用します。データセットを分離させるためには、Split Dataを使用します。

https://gyazo.com/8527ac8c0bf7cd44d90a877edb71b9f5

Split Dataをクリックして、Fraction of rows in the first output datasetの項目を、0.7に設定します。

https://gyazo.com/7fbe7204738de05e35ddbe45e04145c7

Train Modelを配置する

データセットを用意することができたので、実際に機械学習のロジックを構築していきます。 Train Modelを配置して、Split Dataと繋げましょう。 この際、Split Dataの左とTrain Modelの右を繋げます。

https://gyazo.com/19041fa756aea5f953c63da4195f50f3

機械学習アルゴリズムを選択する

今回は、住宅価格予測(回帰問題)のため、Linear Regressionを選択します。 Linear Regressionを配置し、Train Modelと繋げます。

https://gyazo.com/84153621852b7145a17902d530008d5e

次に、予測したいカラムを選択します。住宅価格予測のため、priceを選択します。

https://gyazo.com/4ece7ab9f3a30e5d5c447e53f6790d91

https://gyazo.com/c59488c77984628902ab08645da4d879

これで、学習用のロジックを作成することができました。 予測するためのロジックを用意することができたので、最後に30%のデータセットを使用して、どのくらいそのロジックが正しいが評価してみましょう。

評価用のロジックを実装する

Score Modelを配置して、Train ModelとSplit Dataに繋げます。

https://gyazo.com/920e7cbb847802b0bcdb42b5aea95362

これで完成です。Runボタンを押して、評価結果を確認しましょう。

https://gyazo.com/0abd2854dc5654a9c2aab1bac8efeac6

結果を確認する

Score Modelの丸枠をクリックして、Visualizeをクリックします。

https://gyazo.com/1c88be0358c35d26d968205daf1e61c2

すると、評価されたデータを確認できます。 左が実際の価格で、右が予測した価格です。

https://gyazo.com/2f91908cd129b175fb3f0d87b7be1d5f

これで、機械学習の入門をすることができました。
AzureMachineLearningを使用することで、コードを書かずに簡単に機械学習を行うことができます。 また、今回作成した、アルゴリズムを使用して、データさえ用意できれば、自分の回帰問題を解決することができます。

もっと学びたい!

Azure Machine Learningでもっとやってみたいという方は、さわってわかる機械学習 Azure Macine Learning 実践ガイドだったり、Azure Machine Learning のチュートリアルをやってみるのが良いかと思います。

azure.microsoft.com

さわってわかる機械学習 Azure Macine Learning 実践ガイド

参考 

azure-content-jajp/machine-learning-create-experiment.md at master · Azure/azure-content-jajp · GitHub