スタジオ UI を使用した表形式データ向けにコード不要の自動 ML トレーニングを設定する

この記事では、Azure Machine Learning スタジオで Azure Machine Learning の自動 ML を使用して、コードを 1 行も記述せずに自動 ML トレーニング ジョブを設定する方法について説明します。

自動機械学習 (自動 ML) は、特定のデータに使用する最適な機械学習アルゴリズムが自動的に選択されるプロセスです。 このプロセスにより、機械学習モデルを迅速に生成できます。 Azure Machine Learning での自動機械学習の実装の詳細を参照してください

エンド ツー エンドの例については、自動 ML によるコードなし分類モデルのトレーニングに関するチュートリアルを試してください。

Python コードベースのエクスペリエンスでは、Azure Machine Learning SDK を使用して、自動化された機械学習の実験を構成することもできます。

前提条件

はじめに

  1. Azure Machine Learning Studio にサインインします。

  2. サブスクリプションとワークスペースを選択します。

  3. 左ウィンドウに移動します。 [作成] セクションで [Automated ML](自動化された ML) を選択します。

Azure Machine Learning studio navigation pane

これが初めて実行する実験である場合、空のリストとドキュメントへのリンクが表示されます。

それ以外の場合は、SDK で作成されたものも含め、最近の自動 ML 実験の一覧が表示されます。

実験を作成して実行する

  1. [+ 新規の自動機械学習ジョブ] を選択し、フォームを設定します。

  2. ストレージ コンテナーからデータ資産を選択するか、新しいデータ資産を作成します。 データ資産は、ローカル ファイル、Web URL、データストア、または Azure Open Datasets から作成できます。 データ資産の作成についてさらに学習してください。

    重要

    トレーニング データの要件:

    • データは表形式である必要があります。
    • 予測する値 (ターゲット列) は、データ内に存在する必要があります。
    1. ローカル コンピューター上のファイルから新しいデータセットを作成するには、 [+データセットの作成] を選択してから、 [ローカル ファイルから] を選択します。

    2. [次へ] を選択して、 [データストアとファイルの選択] フォームを開きます。 データセットのアップロード先を選択します。ワークスペースで自動的に作成される既定のストレージ コンテナーか、実験に使用するストレージ コンテナーを選択します。

      1. データが仮想ネットワークの背後にある場合は、検証をスキップする機能を有効にして、ワークスペースがデータにアクセスできることを確認する必要があります。 詳細については、「Azure 仮想ネットワークで Azure Machine Learning Studio を使用する」を参照してください。
    3. [参照] を選択してデータセットのデータ ファイルをアップロードします。

    4. [Settings and preview]/(設定とプレビュー/) フォームで入力が正しいか確認します。 フォームはファイルの種類に基づいてインテリジェントに設定されます。

      フィールド 説明
      ファイル形式 ファイルに格納されているデータのレイアウトと種類を定義します。
      区切り記号 プレーン テキストまたは他のデータ ストリーム内の個別の独立した領域の間の境界を指定するための 1 つ以上の文字。
      エンコード データセットの読み取りに使用する、ビットと文字のスキーマ テーブルを識別します。
      列見出し データセットの見出しがある場合、それがどのように処理されるかを示します。
      行のスキップ データセット内でスキップされる行がある場合、その行数を示します。

      [次へ] を選択します。

    5. [Settings and preview](設定とプレビュー) フォームでの選択に基づいて、 [Schema](スキーマ) フォームがインテリジェントに設定されます。 ここでは、各列のデータ型を構成し、列名を確認し、実験に含めない列を選択します。

      [次へ] を選択します。

    6. [詳細の確認] フォームは、 [基本情報] および [設定とプレビュー] のフォームに以前に入力された情報の概要です。 プロファイリングが有効になっているコンピューティングを使用してデータセットのデータ プロファイルを作成するオプションもあります。

      [次へ] を選択します。

  3. 新しく作成したデータセットが表示されたら、それを選択します。 また、データセットとサンプル統計のプレビューを表示することもできます。

  4. [ジョブの構成] フォームで、[新規作成] を選択し、実験名として「Tutorial-automl-deploy」と入力します。

  5. ターゲット列を選択します。これは、予測を実行する列です。

  6. データ プロファイルとトレーニング ジョブのコンピューティング タイプを選択します。 コンピューティング クラスターまたはコンピューティング インスタンスを選択できます。

  7. 既存のコンピューティングのドロップダウン リストからコンピューティングを選択します。 新しいコンピューティングを作成するには、ステップ 7 の手順に従います。

  8. [Create a new compute](新しいコンピューティングの作成) を選択して、この実験のコンピューティング コンテキストを構成します。

    フィールド 説明
    コンピューティング名 コンピューティング コンテキストを識別する一意名を入力します。
    仮想マシンの優先度 低優先度の仮想マシンは低コストですが、コンピューティング ノードが保証されません。
    仮想マシンのタイプ 仮想マシンのタイプとして [CPU] または [GPU] を選択します。
    仮想マシンのサイズ コンピューティングの仮想マシン サイズを選択します。
    最小/最大ノード データをプロファイリングするには、1 つ以上のノードを指定する必要があります。 コンピューティングの最大ノード数を入力します。 Azure Machine Learning コンピューティングのデフォルトは 6 ノードです。
    詳細設定 これらの設定を使用すると、ユーザー アカウントと、実験用の既存の仮想ネットワークを構成できます。

    [作成] を選択します 新しいコンピューティングの作成には数分かかる場合があります。

    [次へ] を選択します。

  9. [Task type and settings](タスクの種類と設定) フォームで、[classification](分類)、[regression](回帰)、または [forecasting](予測) のタスクの種類を選択します。 サポートされるタスクの種類に関する記事を参照してください。

    1. [分類] については、ディープ ラーニングを有効にすることもできます。

    2. 予測のためには、以下が可能です。

      1. ディープ ラーニングを有効にします。

      2. 時間列を選択します。この列には、使用する時間データが含まれています。

      3. 予測期間を選択します。モデルで将来を予測できる時間単位 (分/時間/日/週/月/年) の数を示します。 モデルで将来を予測する期間が延びるほど、モデルの正確性が下がります。 予測と予測期間の詳細については、こちらを参照してください

  10. (省略可能) 追加の構成設定の表示: トレーニング ジョブをより細かく制御するのに使用できる追加の設定です。 設定しない場合、実験の選択とデータに基づいて既定値が適用されます。

    追加の構成 説明
    主要メトリック モデルをスコアリングするために使用される主なメトリックです。 モデルのメトリックの詳細については、こちらを参照してください
    アンサンブル スタッキングを有効にする アンサンブル学習では、1 つのモデルを使用するのではなく、複数のモデルを組み合わせることによって、機械学習の結果と予測パフォーマンスが改善されます。 アンサンブル モデルに関する詳細情報を参照してください
    ブロックされたモデル トレーニング ジョブから除外するモデルを選択します。

    許可するモデルは、SDK 実験でのみ使用できます。
    各タスクの種類でサポートされているアルゴリズムに関するページを参照してください。
    最適なモデルの説明 自動 ML で作成された最適なモデルの説明を自動的に表示します。
    肯定クラス ラベル 自動 ML がバイナリ メトリックの計算に使用するラベル。
  11. (任意) 特徴量化の設定を表示する: 追加の構成設定フォームで自動を特徴量化を有効にすることを選択した場合、既定の特徴量化手法が適用されます。 特徴量化の表示設定では、これらの既定値を変更し、それに応じてカスタマイズすることができます。 特徴量化をカスタマイズする方法をご覧ください。

    Screenshot shows the Select task type dialog box with View featurization settings called out.

  12. [オプション] 制限フォームを使用すると、次を実行できます。

    オプション 説明
    最大試行回数 試行の最大回数。AutoML ジョブ中に試行するアルゴリズムとハイパーパラメーターの組み合わせは毎回異なります。 1 ~ 1000 の整数にする必要があります。
    最大同時試行回数 並列で実行できる試行ジョブの最大数。 1 ~ 1000 の整数にする必要があります。
    最大ノード数 選択したコンピューティング先からこのジョブで使用できるノードの最大数。
    メトリック スコアしきい値 イテレーション メトリックでこのしきい値に達すると、トレーニング ジョブは終了します。 有意義なモデルには > 0 の相関関係があることに注意してください。それ以外の場合は、平均メトリックしきい値が [0, 10] の境界内にあると推測するのと同じことです。
    実験のタイムアウト (分) 実験全体を実行できる最大時間 (分)。 この制限に達すると、システムによって、すべての試行 (子ジョブ) を含む AutoML ジョブがキャンセルされます。
    イテレーション タイムアウト (分) 各試行ジョブを実行できる最大時間 (分)。 この制限に達すると、システムによってトライアルがキャンセルされます。
    早期終了の有効化 スコアが短期間に向上しない場合は、ジョブの終了を選択します。
  13. [[Optional] Validate and test]([省略可能] 検証とテスト) フォームで、次の操作を行うことができます。

a. トレーニング ジョブに使用する検証の種類を指定します。 validation_data または n_cross_validations のいずれかのパラメーターを明示的に指定しない場合は、1 つのデータセット training_data で指定された行数に応じて、自動 ML によって既定の方法が適用されます。

トレーニング データのサイズ 検証の方法
20,000 行を超える トレーニング/検証データの分割が適用されます。 既定では、初期トレーニング データ セットの 10% が検証セットとして取得されます。 次に、その検証セットがメトリックの計算に使用されます。
20,000& 行未満 クロス検証アプローチが適用されます。 フォールドの既定の数は行数によって異なります。
データセットが 1,000 行より少ない場合は、10 個のフォールドが使用されます。
行が 1,000 から 20,000 の間の場合は、3 つのフォールドが使用されます。

b. テスト データセット (プレビュー) を指定して、実験の最後に自動 ML によって生成される推奨モデルを評価します。 テスト データを指定すると、実験の最後にテスト ジョブが自動的にトリガーされます。 このテスト ジョブは、自動 ML によって推奨される最適なモデル上で実行される唯一のジョブです。 リモート テスト ジョブの結果を取得する方法について学習します。

重要

生成されたモデルを評価するためのテスト データセットの提供は、プレビュー機能です。 この機能は試験段階のプレビュー機能であり、随時変更される可能性があります。 * テスト データは、推奨モデルのテスト ジョブの結果に偏りが出ないように、トレーニングと検証とは別のものと見なされます。 モデル検証中のバイアスの詳細について確認してください。 * 独自のテスト データセットを指定するか、トレーニング データセットの割合を使用することを選択できます。 テスト データは Azure Machine Learning TabularDataset 形式にする必要があります。
* テスト データセットのスキーマは、トレーニング データセットと一致する必要があります。 ターゲット列は省略可能ですが、ターゲット列が示されていない場合、テスト メトリックは計算されません。 * テスト データセットは、トレーニング データセットまたは検証データセットと同じにすべきではありません。 * 予測ジョブでは、トレーニング/テスト分割はサポートされていません。

Screenshot shows the form where to select validation data and test data

特徴量化をカスタマイズする

特徴量化フォームでは、自動特徴量化を有効または無効にしたり、実験の自動特徴量化設定をカスタマイズしたりできます。 このフォームを開くには、「実験を作成して実行する」セクションのステップ 10 を参照してください。

次の表は、現在、スタジオで使用可能なカスタマイズの概要です。

カスタマイズ
特徴の種類 選択された列の値の型を変更します。
次で補完 データの欠損値を補完する値を選択します。

Screenshot showing Azure Machine Learning studio custom featurization.

実験を実行して結果を表示

[完了] を選択して実験を実行します。 実験の準備プロセスには最大で 10 分かかることがあります。 トレーニング ジョブで各パイプラインの実行を完了するには、さらに 2 ~ 3 分かかる場合があります。 最適な推奨モデルの RAI ダッシュボードを生成するように指定した場合は、最大で 40 分かかる場合があります。

注意

自動 ML のアルゴリズムには特有のランダム性があり、推奨モデルの最終的なメトリック スコア (精度など) にわずかな変動が生じる可能性があります。 自動 ML によって、トレーニングとテストの分割、トレーニングと検証の分割、クロス検証などのデータに対する操作も必要に応じて実行されます。 そのため、同じ構成設定とプライマリ メトリックを使用して実験を複数回実行した場合、これらの要因により、各実験の最終的なメトリック スコアに変動が見られる可能性があります。

実験の詳細の表示

[ジョブの詳細] 画面が開き、 [詳細] タブが表示されます。この画面には、上部のジョブ番号の横のステータス バーを含む実験ジョブの概要が表示されます。

[Models](モデル) タブには、メトリック スコアの順で作成されたモデルの一覧が表示されます。 既定では、選択したメトリックに基づいて最高のスコアを付けたモデルが、一覧の先頭になります。 トレーニング ジョブがさらにモデルを試みるにつれ、それらは順次一覧に追加されます。 これを使用すると、これまでに生成されたモデルのメトリックを簡単に比較できます。

トレーニング ジョブの詳細を表示する

完成したモデルのいずれかをドリル ダウンして、トレーニング ジョブの詳細を表示します。

[メトリック] タブには、モデル固有のパフォーマンス メトリック グラフが表示されます。グラフの詳細については、こちらを参照してください

ここでは、モデルのすべてのプロパティに関する詳細と、関連付けられているコード、子ジョブ、およびイメージを確認することもできます。

リモート テスト ジョブの結果を表示する (プレビュー)

[Validate and test](検証とテスト) フォームで、テスト データセットを指定した場合、または実験のセットアップ中にトレーニングまたはテスト分割を選択した場合、自動 ML は、既定で推奨されるモデルを自動的にテストします。 その結果、自動 ML によりテスト メトリックが計算され、推奨されるモデルの品質とその予測が決定されます。

重要

生成されたモデルを評価するためにテスト データセットを使ってモデルをテストする機能はプレビュー段階です。 この機能は試験段階のプレビュー機能であり、随時変更される可能性があります。

推奨されるモデルのテスト ジョブのメトリックを表示するには、次のようにします。

  1. [モデル] ページに移動し、最適なモデルを選択します。
  2. [テスト結果 (プレビュー)] タブを選択します。
  3. 目的のジョブを選択し、[メトリック] タブを表示します。Test results tab of automatically tested, recommended model

テスト メトリックの計算に使用されるテスト予測を表示するには、次のようにします。

  1. ページの下部に移動し、 [出力データセット] の下にあるリンクを選択して、データセットを開きます。
  2. [データセット] ページで、[探索] タブを選択して、テスト ジョブからの予測を表示します。
    1. または、予測ファイルを [出力とログ] タブから表示またはダウンロードすることもできます。Predictions フォルダーを展開して、predicted.csv ファイルを見つけます。

または、予測ファイルを [出力とログ] タブから表示またはダウンロードすることもできます。Predictions フォルダーを展開して、predictions.csv ファイルを見つけます。

モデル テスト ジョブでは、predictions.csv ファイルが生成され、ワークスペースで作成された既定のデータストアに格納されます。 このデータストアは、同じサブスクリプションを持つすべてのユーザーに表示されます。 テスト ジョブは、テスト ジョブで使用または作成された情報を非公開にする必要があるシナリオにはお勧めできません。

既存の自動 ML モデルをテストする (プレビュー)

重要

生成されたモデルを評価するためにテスト データセットを使ってモデルをテストする機能はプレビュー段階です。 この機能は試験段階のプレビュー機能であり、随時変更される可能性があります。

実験が完了したら、自動 ML によって自動的に生成されるモデルをテストできます。 推奨されるモデルではなく、別の 自動 ML 生成モデルをテストする場合は、次の手順を行います。

  1. 既存の 自動 ML 実験ジョブを選択します。

  2. ジョブの [モデル] タブに移動し、テストする完成モデルを選択します。

  3. モデルの [詳細] ページで、 [Test model (preview)](モデルのテスト (プレビュー)) ボタンを選択して、 [Test model](モデルのテスト) ペインを開きます。

  4. [テスト モデル] ペインで、テスト ジョブに使用するコンピューティング クラスターとテスト データセットを選択します。

  5. [テスト] ボタンを選択します。 テスト データセットのスキーマは、トレーニング データセットと一致する必要がありますが、ターゲット列は省略可能です。

  6. モデル テスト ジョブが正常に作成されると、[詳細] ページに成功メッセージが表示されます。 [テスト結果] タブを選択して、ジョブの進行状況を確認します。

  7. テスト ジョブの結果を表示するには、[詳細] ページを開き、「リモート テスト ジョブの結果を表示する」セクションの手順に従います。

    Test model form

責任ある AI ダッシュボードの作成 (プレビュー)

モデルをより深く理解するために、責任ある AI ダッシュボードを使用して、モデルに関するさまざまな分析情報を確認できます。 これにより、最適な自動機械学習モデルを評価およびデバッグできます。 責任ある AI ダッシュボードでは、モデルのエラーと公平性の問題を評価し、トレーニング データやテスト データを評価し、モデルの説明を観察することで、それらのエラーが発生している理由を診断します。 これらの分析情報を組み合わせることで、モデルに対する信頼を構築し、監査プロセスに合格するのに役立ちます。 責任ある AI ダッシュボードは、既存の自動機械学習モデルに対して生成することはできません。 これは、新しい AutoML ジョブが作成されるときに最適な推奨モデルに対してのみ作成されます。 既存のモデルへのサポートが提供されるまで、ユーザーは引き続き Model Explanations (プレビュー) のみを使用する必要があります。

特定のモデルの責任ある AI ダッシュボードを生成するには、

  1. 自動 ML ジョブを送信する際に、左側のナビゲーション バーの [タスク設定] セクションに進み、[追加の構成設定の表示] オプションを選択します。

  2. 選択した後に表示される新しいフォームで、[最適なモデルの説明] チェック ボックスをオンにします。

    Screenshot showing the Automated ML job configuration page with Explain best model selected.

  3. セットアップ フォームの [コンピューティング] ページに進み、コンピューティング用に [サーバーレス] オプションを選択します。

    Serverless compute selection

  4. 完了したら、自動 ML ジョブの [モデル] ページに移動します。ここには、トレーニング済みのモデルの一覧が含まれています。 [責任ある AI ダッシュボードの表示] リンクを選択します。

    View dashboard page within an Automated ML job

この画像に示すように、そのモデルの責任ある AI ダッシュボードが表示されます。

Responsible AI dashboard

ダッシュボードでは、自動 ML の最適なモデル用に 4 つのコンポーネントがアクティブ化されています。

コンポーネント コンポーネントが示す内容 グラフを読む方法
エラー分析 次のことを行う必要がある場合は、エラー分析を使用します。
モデルの失敗がデータセット全体で、および複数の入力と特徴のディメンション間でどのように分散されるかについて深く理解する。
ターゲットを絞った軽減策を通知するために、集計したパフォーマンスのメトリックを分解して誤ったコーホートを自動的に検出する。
エラー分析グラフ
モデルの概要と公平性 このコンポーネントを使用して、次を行います。
データのさまざまなコーホート全体でのモデルのパフォーマンスを深く理解します。
不均衡メトリックを見て、モデルの公平性の問題を理解します。 これらのメトリックは、センシティブ特徴 (または非センシティブ特徴) の観点から識別されたサブグループ間でモデルの動作を評価および比較できます。
モデルの概要と公平性のグラフ
モデルの説明 モデル説明コンポーネントを使用して機械学習モデルの予測に関する人間が理解可能な説明を生成するには、次を参照してください。
グローバルな説明: たとえば、ローン配賦モデルの全体的な動作に影響する特徴量は何ですか?
ローカルな説明: たとえば、顧客のローン申請が承認または却下されたのはなぜですか?
モデルの説明性のグラフ
データ分析 次のことを行う必要がある場合は、データ分析を使用します。
さまざまなフィルターを選択してデータをさまざまなディメンション (コーホートとも呼ばれます) にスライスすることで、データセットの統計情報を探索する。
さまざまなコーホートと特徴量グループ間でのデータセットの分布を把握する。
公平性、エラー分析、因果関係 (他のダッシュボード コンポーネントから派生) に関連する検出結果がデータセットの分布の結果であるかどうかを判断する。
表現の問題、ラベル ノイズ、特徴量ノイズ、ラベル バイアスや同様のファクターから発生するエラーを軽減するために、より多くのデータを収集する領域を決定する。
データ エクスプローラーのグラフ
  1. コーホート (指定した特性を共有するデータ ポイントのサブグループ) をさらに作成して、各コンポーネントの分析を異なるコーホートに集中させることができます。 ダッシュボードに現在適用されているコーホートの名前が、常にダッシュボードの左上に表示されます。 ダッシュボードの既定のビューはデータセット全体であり、"すべてのデータ" (既定) というタイトルです。 ダッシュボードのグローバル制御の詳細については、こちらを参照してください。

ジョブの編集と送信 (プレビュー)

重要

既存の実験に基づいて新しい実験をコピー、編集、送信する機能は、プレビュー機能です。 この機能は試験段階のプレビュー機能であり、随時変更される可能性があります。

既存の実験の設定に基づいて新しい実験を作成するシナリオの場合、自動 ML では、スタジオ UI の [編集と送信] ボタンを使用したそのためのオプションが提供されます。

この機能は、スタジオ UI から開始された実験に限定され、新しい実験のデータ スキーマが元の実験のものと一致する必要があります。

[編集と送信] ボタンをクリックすると、データ、コンピューティング、事前に設定済みの実験設定が反映された [新しい自動 ML ジョブの作成] ウィザードが開きます。 新しい実験の必要に応じて、各フォームを確認し、選択内容を編集できます。

モデルをデプロイする

最適なモデルを作成したら、Web サービスとしてデプロイして新しいデータで予測します。

ヒント

Python SDK が含まれる automl パッケージで生成されたモデルをデプロイする場合、ワークスペースにモデルを登録する必要があります。

モデルが登録されたら、左側のウィンドウで [モデル] を選択し、スタジオでモデルを見つけます。 モデルを開いたら、画面上部にある [デプロイ] ボタンを選択し、「モデルをデプロイする」セクションの手順 2 にある指示に従うことができます。

自動化された ML は、コードを記述せずにモデルをデプロイするのに役立ちます。

  1. デプロイ オプションはいくつかあります。

    • オプション 1: 定義したメトリック条件に従って、最適なモデルをデプロイします。

      1. 実験が完了したら、画面の上部にある [ジョブ 1] を選択して、親ジョブ ページに移動します。
      2. [Best model summary] (最適なモデルの概要) セクションに一覧表示されている、目的のモデルを選択します。
      3. ウィンドウの左上にある [デプロイ] を選択します。
    • オプション 2:この実験から特定のモデル イテレーションをデプロイする場合。

      1. [モデル] タブから目的のモデルを選択します
      2. ウィンドウの左上にある [デプロイ] を選択します。
  2. [Deploy model](モデルのデプロイ) ペインにデータを入力します。

    フィールド
    名前 デプロイの一意の名前を入力します。
    説明 このデプロイの目的を識別しやすくするための説明を入力します。
    コンピューティングの種類 デプロイするエンドポイントの種類 (Azure Kubernetes Service (AKS) または Azure Container Instance (ACI)) を選択します。
    コンピューティング名 AKS にのみ適用されます。 デプロイする AKS クラスターの名前を選択します。
    認証を有効にする トークンベースまたはキーベースの認証を許可する場合に選択します。
    カスタム デプロイ アセットを使用する 独自のスコアリング スクリプトと環境ファイルをアップロードする場合は、この特徴量を有効にします。 それ以外の場合、既定で、これらのアセットが自動 ML によって提供されます。 スコアリング スクリプトの詳細を確認してください。

    重要

    ファイル名の文字数は 32 文字未満にする必要があります。先頭と末尾には英数字を使用してください。 先頭と末尾以外では、ダッシュ、アンダースコア、ピリオド、および英数字を使用できます。 スペースは使用できません。

    "詳細設定" メニューには、データ収集やリソース使用率の設定などの既定のデプロイ特徴量が用意されています。 これらの既定値をオーバーライドする場合は、このメニューでオーバーライドします。

  3. [デプロイ] を選択します。 デプロイの完了には 20 分程度かかる場合があります。 デプロイが開始されると、 [モデルの概要] タブが表示されます。 [Deploy status](デプロイの状態) セクションで、デプロイの進行状況を確認します。

これで、予測を生成するための運用 Web サービスが作成されました。 予測をテストするには、Power BI の組み込みの Azure Machine Learning サポートからサービスのクエリを実行します。

次のステップ