夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Azure MachineLearningを使用する その③ 回帰予測のチュートリアル 機械学習のパイプライン構築

今回は昨日に引き続きAzure Machine learning(以下Azure ML)を学びます。

Azure MLでは主に3つの方法で機械学習を構築できます。現在はGUIベースで機械学習を構築できるデザイナーを触っています。

前回はサンプルとして提供されている車の価格データから価格を予測するモデルを構築するためにデータの整理を行いました。

redhologerbera.hatenablog.com

Azure MLで機械学習を行う際には使用するデータの欠損をクリーンにする必要があります。

今回は機械学習のパイプラインを構築していきます。

〇機械学習のパイプラインの構築

今回の目的として『自動車の価格』を求めたいため数値を求める回帰を使用します

回帰(regression)は連続したデータから次の新たなデータを予測する機械学習の手法です。

機械学習を行う際に重要なこととしてデータのうちの数パーセントをテスト、数パーセントをトレーニング用のデータとして分ける必要があります。

 これはトレーニングの精度にかかわる手順になります。

①データを分割するため[Split Data]を使用します。

②Split Dataを選択し[Fraction of rows the first output datasets]の値を0.7に変更します。

これはデータをどの程度の割合で分割するかの値になります。

0.7に設定することで、70パーセント、30パーセントの割合で元のデータからデータが分けられます。

トレーニングを開始するために機械学習用のノードをパイプラインに配置します。

これは[Machine Learinig Algorithms]にあります。

③[Linear Regression(線形回帰)]ノードをパイプライン上に配置します

④トレーニングを行うモデルと紐づけるために[Train Model]ノードを追加します。

⑤データとLinear Regressionを接続する。

 この際[SplitData]は左ポートが7、右ポートがテスト用の3割のデータで出力されます。このため左ポートからの出力データを接続を行います。

[Train Model]ではトレーニングを行い求めたい結果のデータを選択します

⑥列の編集から求めたい値の名前を選択、ここでは[Price(価格)]を選択します。

以上で学習を行うことができるようになりました。

次に学習結果をテストとして分割した3割のデータを使用して評価する処理を行います。 学習結果を評価することはそのモデルの精度に直結し、すなわちAIでの判定制度に直結します。

〇モデルのテストと評価

①[Score Model]ノードを配置し、TrainModelのポートとSplitDataの右出力ポートのデータをつなぎます。

前述のとおりSplitDataの右出力ポートのデータはテスト用に使用される3割のデータになります。

②最後にトレーニングの結果をモデルの評価として表示します。これはEvaluate Modelノードを使用します。

以上でパイプラインの構築が完了しました。

次回コンピュータインスタンシング(仮想マシン)を作成し実際に動かしていきます。