Azure Machine Learning デザイナーを使ってノーコードで機械学習モデル開発してみる

こんばんは。今日はAzure Machine Learningデザイナーを使った機械学習モデルの開発を試してみましたので、その手順や所感などをまとめておきたいと思います。

それではまいります。

Azure Machine Learningデザイナーとは

公式ドキュメントはこちら。

Azure Machine Learning デザイナーとは

https://docs.microsoft.com/ja-jp/azure/machine-learning/concept-designer

こんな感じで、ノーコードで機械学習のモデル開発を行えてしまうAzure Machine Learningの機能です。

Azure Machine Learning デザイナーを使ってみる

それではこのデザイナーを実際に使ってみたいと思います。

こちらのチュートリアルに従って、自動車の価格を回帰モデルで予測するシナリオを想定して進めてみます。

チュートリアル: デザイナー – コードなし回帰モデルをトレーニングする

https://docs.microsoft.com/ja-jp/azure/machine-learning/tutorial-designer-automobile-price-train-score

パイプラインの作成

デザイナーを使ったモデル開発はパイプラインの作成から始まります。これは、一連の処理を定義するガラのようなものですね。

「Easy-to-use prebuilt components」を選択します。

デザイナー画面がひらくので、まずはパイプライン名を分かりやすいものにかえる & コンピューティングノードの設定を行います。

コンピューティングはインスタンスでもクラスターでも良いと思いますが、今回は既に作成済クラスターがあったので、そちらを使いまわしました。

データの読み込み

ガラができたらデータの読み込みからはじめます。

デザイナー左側のメニューから、”Sample datasets > Automobile price data (Raw)”を選択してキャンバスにドラッグアンドドロップします。

右クリック>Preview Dataでデータ分布を確認。

データの加工

続けてデータの加工です。

「Select Columns in Dataset」で不要列(normalized-losses)の削除を行います。

次に欠損データのある行の削除を定義します。

機械学習モデルの学習

データの加工が終わったので、モデル学習用の仕込みを定義していきます。

まずはデータの分割。これはモデルの学習と検証用ですね。学習と検証用に70%-30%で分割します。

次に「線形回帰(Linear Regression)」アルゴリズムで「モデルを学習する(Train Model)」ステップを追加して以下のように連結します。

モデルの学習では、目的変数の指定(price)も行います。

次にモデルのスコアリングです。

「Score Model」コンポーネントをドラッグ&ドロップし、Train Modelと、Split Dataの右側(=検証データの意)を接続します。

最後に「評価」コンポーネントを追加します。

これでパイプラインが完成しました。

パイプラインの実行

パイプラインを実行するには、デザイナーuI右上の”Submit”に進みます。パイプライン実行のためのExperimentを新規作成して、Submitを完了します。

数分で実行が終わります。

Score Modelを右クリックしてスコアが付与されていることを確認します。

評価 (Evaluate Model)で、モデルの各種評価指標が確認できます。

ここでチュートリアルは終わりですが、もちろんここで構築したモデルを使ってバッチ/リアルタイム予測を行うことができます。こちらもまた試してみようと思います。

https://docs.microsoft.com/ja-jp/azure/machine-learning/concept-designer#model-training-and-deployment

所感

  • 最初、デザイナー固有の操作(コンポーネントの接続やコンポーネント毎の詳細設定)を覚える必要がある
  • 実際のアドホックなモデル開発時は、トライ&エラーの連続が続くと思いますので、おそらく今回のようにスムーズにパイプラインは組めなくて、コーディングの方が試行錯誤できるスピード速い気がする
  • とはいえ、たしかに、ノーコードでモデル開発ができるので便利。
  • 統一された設定方法なので、メンテナビリティは高そう。処理全体の可読性も高い。

というわけで、向いている状況・フェーズ、などを見極めて使えると強い武器になりそうだと感じました。

以上、Azure Machie Learningデザイナーを使った機械学習モデル開発方法のご紹介でした。

イメージアップの助けになりましたら幸いです。

おしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。