何をするのか
今回は、Azure Machine Learningを使って、自動車の価格予想を機械学習で行います。 自動車の様々な特徴(エンジンの種類、メーカー、ドアの数)から価格を予想することを目指します。
また、この記事は実際に手を動かすことを前提としています。 Azureの説明はしません!さっそく以下のリンクからAzureの登録をしましょう! ちなみに、無料な上に2万分のAzureクレジット(一ヶ月内有効)がもらえます。
※詳細のAzure登録方法が知りたい方はこちらを
Experimentを作成する
※この記事用のworkspaceが一つあるという前提で、進めていきます。
Azure Machine Learningでは基本的に、Experiment上で作業を行います。 Experimentを作成するために、フッターにあるNewボタンをクリックします。
Newボタンをクリックすると、以下の様な画面が現れるので、EXPERIMENTをクリックし、Blank Experimentを選択します。
データをセットする
機械学習を行うためには、データが必要です。 今回は、サンプルデータを使用します。
Azure Machine Learning には、予めサンプルデータセットが容易されているので、それを利用します。 今回は、自動車の値段とその自動車の特徴が含まれているデータセットを利用します。
使用する特徴を選択する
データセットの中には、様々なデータセットがありますが、今回は以下の特徴を選択します。
- price(値段)
- engine-type(エンジンのタイプ)
- make(車のメーカー)
- fuel-type(燃料のタイプ)
- num-of-doors(ドアの数)
- body-style (車の種類)
- engine-location (エンジンの場所)
データセットの特徴を選択するためには、Select Colums in Datasetsを使用します。
Select Colums in Datasetsを設置することができたら、実際にデータセットのカラムを選択します。 設置したSelect Colums in Datasetsをクリックして、Launch column selectorをクリックします。
カラムを選択し、チェックボタンをクリックします。
これで、カラムを選択することができました。 最後に、Automobile price data (Raw)とSelect Colums in Datasetsを繋げましょう。
欠損があるレコードを削除する。
サンプルデータには、欠損があるレコードがあります。欠損があると予測の結果が大きく変わってしまうため、そのデータを削除します。
Clean Missing Dataを利用して、欠損しているデータを削除します。
Clean Missing Dataを配置することができたら、Clean Missing Dataを、Select Colums in Datasetsに繋げましょう。
学習用データ分を確保する
機械学習を行う時は、データセットを学習させる用とテストする用に分けるのが一般的です。 今回は、学習用に70%のデータ・セットを使用します。データセットを分離させるためには、Split Dataを使用します。
Split Dataをクリックして、Fraction of rows in the first output dataset
の項目を、0.7
に設定します。
Train Modelを配置する
データセットを用意することができたので、実際に機械学習のロジックを構築していきます。 Train Modelを配置して、Split Dataと繋げましょう。 この際、Split Dataの左とTrain Modelの右を繋げます。
機械学習のアルゴリズムを選択する
今回は、住宅価格予測(回帰問題)のため、Linear Regressionを選択します。 Linear Regressionを配置し、Train Modelと繋げます。
次に、予測したいカラムを選択します。住宅価格予測のため、price
を選択します。
これで、学習用のロジックを作成することができました。 予測するためのロジックを用意することができたので、最後に30%のデータセットを使用して、どのくらいそのロジックが正しいが評価してみましょう。
評価用のロジックを実装する
Score Modelを配置して、Train ModelとSplit Dataに繋げます。
これで完成です。Runボタンを押して、評価結果を確認しましょう。
結果を確認する
Score Modelの丸枠をクリックして、Visualizeをクリックします。
すると、評価されたデータを確認できます。 左が実際の価格で、右が予測した価格です。
これで、機械学習の入門をすることができました。
AzureMachineLearningを使用することで、コードを書かずに簡単に機械学習を行うことができます。
また、今回作成した、アルゴリズムを使用して、データさえ用意できれば、自分の回帰問題を解決することができます。
もっと学びたい!
Azure Machine Learningでもっとやってみたいという方は、さわってわかる機械学習 Azure Macine Learning 実践ガイド
だったり、Azure Machine Learning のチュートリアルをやってみるのが良いかと思います。
さわってわかる機械学習 Azure Macine Learning 実践ガイド