あずきみるくのあずきはニガテ - for Engineer

ひよっこプログラマがやってみたことやハマっちゃったことなど、備忘録的な感じで書いていきます。

AzureMLをはじめてみた。(5)アルゴリズムを適用する編

今までの手順はこちら。
AzureMLをはじめてみた。(1)MLStudioの準備 - あずきみるくのあずきはニガテ - for Engineer
AzureMLをはじめてみた。(2)データの準備ー取得編 - あずきみるくのあずきはニガテ - for Engineer
AzureMLをはじめてみた。(3)データの準備ー整形?編 - あずきみるくのあずきはニガテ - for Engineer
AzureMLをはじめてみた。(4)どの項目に着目するか?編 - あずきみるくのあずきはニガテ - for Engineer


これで、データを準備して、きれいにして、着目するカラムの選択ができました。

次は、いよいよ機械学習のキモと勝手に思っている、
アルゴリズムの選択です。


そもそも、アルゴリズムってなんやねん、っていうあなたに。

アルゴリズム(英: algorithm [ˈælgəˌrɪðəm])とは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。算法と訳されることもある。
「問題」はその「解」を持っているが、アルゴリズムは正しくその解を得るための具体的手順および根拠を与える。さらに多くの場合において効率性が重要となる。

アルゴリズム - Wikipedia


問題を解くための手順ってことすね。たぶん。いや、そのまんまか。。。


機械学習においては、どのアルゴリズムを使って学習させるのか、って
結構重要だと勝手に思っております。

じゃー、どうやって選ぶのか。
。。。ながくなりそうなので、詳しくはこちらをご覧ください。
Machine Learning アルゴリズムの選択方法 | Microsoft Docs

・・・正直、まだよくわかんない。
でも、ここはチュートリアルを進める場なので、
お手本に書いてある通り、単純な「線形回帰」を使うことにします。


AzureMLでは、データを「トレーニング」用と「テスト」用に分けて使うことができるそうな。

早速やっていくことにします。


1)トレーニングデータの分割
 1. 「split」で検索

 2. [Split Data(データの分割)]モジュールを選択し、ドラッグ&ドロップ

 3. 接続

 4. プロパティにて、[Fraction of rows in the first output dataset
  (最初の出力データセットにおける列の割合)] を探して 0.75 に設定
  →この設定で、データの75%をトレーニング用として割り当てます。
  (後で変更することも可能。)

 5. 実行
  →こうすることで、分割されたデータが次に紐付けるモジュールに
   うまいこと渡してもらえるようになるらしい。

f:id:azuki-milk-lush:20170904104448p:plain



2)アルゴリズムの適用
 1. モジュールのパレットの [Machine Learning(機械学習)] カテゴリを展開

 2. [Initialize Model(モデルを初期化)] を展開
  →機械学習アルゴリズムの初期化に使用できる
   モジュールのカテゴリが複数表示される。いっぱいだ。

 3. [Regression(回帰)] カテゴリにある[Liner Regression(線形回帰)]
  モジュールをドラッグ&ドロップ
  →今回はいろんなアルゴリズムがあるよ、ってことでこの方法ですが、
   いつも通り、検索ボックスにいきなり「Liner」とか入力して探してもOKです。
 
f:id:azuki-milk-lush:20170904105045p:plain



3)予測する値の設定
 今回は価格を予想したいので、「価格」を予想する値として設定します。

 1.「train」とかで検索

 2. [Train Model(モデルのトレーニング)] モジュールをドラッグ&ドロップ

 3. 4. つなぐ
  →つなぐポートは右と左で意味があるみたいなので、この通りにつないでください。

 5. [Train Model(モデルのトレーニング)] モジュールの[プロパティ]にて、
   [Launch Column Selecter(起動列セレクター)] をクリック

f:id:azuki-milk-lush:20170904112351p:plain


 6.7. [Available columns (使用できる列)] の一覧から [price(価格)]
  を選択し、「>」をクリック

f:id:azuki-milk-lush:20170904112453p:plain


  こうなっていればOK!
  最後にチェックボタンをポチして、完了です。
f:id:azuki-milk-lush:20170904112003p:plain



4)トレーニングの実行
では、いよいよ。。。トレーニングを実行します。
[Run(実行)]ボタンをポチすることで、実行されます。
15秒くらいかかったけど、無事実行できました。

実行が完了すると、 [Train Model(モデルのトレーニング)] モジュールに
緑のチェックがつきますね。
f:id:azuki-milk-lush:20170904112741p:plain


というわけで、この時点の最終形はこちら。
f:id:azuki-milk-lush:20170904113100p:plain

次はとうとう予測させてみる!です!!


docs.microsoft.com