チュートリアル: Azure Machine Learning スタジオでコードなし AutoML を使用して分類モデルをトレーニングする

Azure Machine Learning スタジオで Azure Machine Learning 自動 ML を使用して、コードなし AutoML により分類モデルをトレーニングする方法について説明します。 この分類モデルは、クライアントが金融機関に定期預金を申し込むかどうかを予測します。

自動 ML を使用すると、時間がかかるタスクを自動化することができます。 自動機械学習では、アルゴリズムとハイパーパラメーターのさまざまな組み合わせをすばやく反復し、選択された成功のメトリックに基づいて最適なモデルを効率的に発見します。

このチュートリアルではコードを一切記述しません。スタジオのインターフェイスを使用してトレーニングを実行します。 次のタスクを実行する方法について説明します。

  • Azure Machine Learning ワークスペースを作成します。
  • 自動機械学習の実験を実行します。
  • モデルの詳細を調べる。
  • 推奨モデルをデプロイする。

他のタイプのモデルについても、自動機械学習を試してみましょう。

前提条件

  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。

  • bankmarketing_train.csv データ ファイルをダウンロードします。 [y] 列では、このチュートリアルの予測対象列として後で識別される定期預金に顧客が申し込んだかどうかが示されます。

ワークスペースの作成

Azure Machine Learning ワークスペースは、機械学習モデルを実験、トレーニング、およびデプロイするために使用する、クラウドでの基本的なリソースです。 ワークスペースは、Azure サブスクリプションとリソース グループを、サービス内の簡単に使用できるオブジェクトに結び付けます。

[ワークスペースを作成する方法](how-to-manage-workspace.md)は多数あります。 このチュートリアルでは、Azure リソースを管理するための Web ベースのコンソールである Azure portal を使用してワークスペースを作成します。

  1. ご利用の Azure サブスクリプションの資格情報を使って、Azure portal にサインインします。

  2. Azure portal の左上隅で 3 本のバーを選択し、 [+ リソースの作成] を選択します。

    [+ リソースの作成] を示すスクリーンショット。

  3. 検索バーを使用して、Azure Machine Learning を見つけます。

  4. [Azure Machine Learning] を選択します。

    [Machine Learning] を選択するための検索結果を示すスクリーンショット。

  5. [Machine Learning] ウィンドウで、 [作成] を選択して開始します。

  6. 新しいワークスペースを構成するには、次の情報を指定します。

    フィールド 説明
    ワークスペース名 ワークスペースを識別する一意の名前を入力します。 この例では、docs-ws を使用します。 名前は、リソース グループ全体で一意である必要があります。 覚えやすく、他のユーザーが作成したワークスペースと区別しやすい名前を使用します。
    サブスクリプション 使用する Azure サブスクリプションを選択します。
    Resource group サブスクリプションの既存のリソース グループを使用するか、任意の名前を入力して新しいリソース グループを作成します。 リソース グループは、Azure ソリューションの関連するリソースを保持します。 この例では、docs-aml を使用します。
    Region ユーザーとデータ リソースに最も近い場所を選択し、ワークスペースを作成します。
    ストレージ アカウント ストレージ アカウントは、ワークスペース用の既定のデータストアとして使用されます。 新しい Azure Storage リソースを作成しても、サブスクリプションで既存のものを選択してもかまいません。
    Key Vault キー コンテナーは、ワークスペースで必要なシークレットや他の機密情報を格納するために使用されます。 新しい Azure Key Vault リソースを作成しても、サブスクリプションで既存のものを選択してもかまいません。
    Application Insights ワークスペースでは、デプロイされているモデルに関する監視情報を格納するために、Azure Application Insights が使用されます。 新しい Azure Application Insights リソースを作成しても、サブスクリプションで既存のものを選択してもかまいません。
    コンテナー レジストリ コンテナー レジストリは、トレーニングとデプロイで使用される Docker イメージを登録するために使用されます。 リソースを作成するか、サブスクリプションの既存のリソースを選択することができます。
  7. ワークスペースの構成が完了したら、 [確認および作成] を選択します。

  8. [作成] を選択して、ワークスペースを作成します。

    警告

    クラウドへのワークスペースの作成には数分かかる場合があります。

    プロセスが完了すると、デプロイ成功メッセージが表示されます。

  9. 新しいワークスペースを表示するには、 [Go to resource](リソースに移動) を選択します。

  10. ワークスペースのポータル ビューから、 [スタジオの起動] を選択して、Azure Machine Learning スタジオに移動します。

重要

お使いのワークスペースサブスクリプションをメモしておきます。 これらは、適切な場所に実験を作成するために必要になります。

スタジオにサインインする

https://ml.azure.com で Azure Machine Learning スタジオを使用して、次の実験の設定を完了し、ステップを実行します。Azure Machine Learning スタジオは、あらゆるスキル レベルのデータ サイエンス実務者がデータ サイエンス シナリオを実行するための機械学習ツールを含む統合 Web インターフェイスです。 Internet Explorer ブラウザーでは、Studio はサポートされません。

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

  2. お使いのサブスクリプションと、作成したワークスペースを選択します。

  3. [Get started](作業を開始する) を選択します。

  4. 左側のウィンドウの [Author](作成者) セクションで [Automated ML](自動 ML) を選択します。

    これは初めての自動 ML 実験であるため、空のリストとドキュメントへのリンクが表示されます。

    開始ページ

  5. [New automated ML job](新規の自動機械学習ジョブ) を選択します。

データセットを作成して読み込む

実験を構成する前に、Azure Machine Learning データセットの形式でデータ ファイルをワークスペースにアップロードします。 そうすることで、データを実験に適した形式にすることができます。

  1. 新しいデータセットを作成するには、[+データセットの作成] ドロップダウンで [From local files](ローカル ファイルから) を選択します。

    1. [基本情報] フォームでデータセットに名前を付け、必要に応じて説明を入力します。 自動 ML インターフェイスでは、現在、TabularDatasets だけがサポートされています。そのため、データセットの種類は既定で "表形式" に設定されます。

    2. 左下の [次へ] を選択します

    3. [データストアとファイルの選択] フォームで、ワークスペースの作成時に自動的に設定された既定のデータストア、workspaceblobstore (Azure Blob Storage) を選択します。 データ ファイルは、ここにアップロードすることで、ワークスペースから利用できるようになります。

    4. [アップロード] ドロップダウンから、[ファイルのアップロード] を選択します。

    5. ローカル コンピューター上の bankmarketing_train.csv ファイルを選択します。 これは、前提条件としてダウンロードしたファイルです。

    6. 左下の [次へ] を選択して、ワークスペースの作成時に自動的に設定された既定のコンテナーにアップロードします。

      アップロードが完了すると、ファイルの種類に基づいて [Settings and preview](設定とプレビュー) フォームが事前設定されます。

    7. [Settings and preview](設定とプレビュー) フォームが次のように設定されていることを確認し、 [次へ] を選択します。

      フィールド 説明 チュートリアルの値
      ファイル形式 ファイルに格納されているデータのレイアウトと種類を定義します。 区切り記号
      区切り記号 プレーン テキストまたは他のデータ ストリーム内の個別の独立した領域の間の境界を指定するための 1 つ以上の文字。 コンマ
      エンコード データセットの読み取りに使用する、ビットと文字のスキーマ テーブルを識別します。 UTF-8
      列見出し データセットの見出しがある場合、それがどのように処理されるかを示します。 すべてのファイルのヘッダーを同じものにする
      行のスキップ データセット内でスキップされる行がある場合、その行数を示します。 なし
    8. [スキーマ] フォームを使用すると、この実験用にデータをさらに構成できます。 この例では、day_of_week のトグル スイッチを選択して、これを含めないようにします。 [次へ] を選択します。 [スキーマ] フォーム

    9. [詳細の確認] フォームで、[基本情報]、[データストアとファイルの選択][Settings and preview](設定とプレビュー) のフォームに入力された情報が一致していることを確認します。

    10. [作成] を選択して、データセットの作成を完了します。

    11. リストにデータセットが表示されたら、それを選択します。

    12. [Data preview]\(データのプレビュー) を確認し、[day_of_week] が含まれていないことを確認してから [閉じる] を選択します。

    13. [次へ] を選びます。

ジョブを構成する

データを読み込んで構成したら、実験を設定できます。 このセットアップには、ご使用のコンピューティング環境のサイズの選択や予測する列の指定など、実験の設計タスクが含まれます。

  1. [新規作成] をクリックします。

  2. 次のように [Configure job](ジョブの構成) フォームに入力します。

    1. この実験の名前として「my-1st-automl-experiment」と入力します。

    2. 予測するターゲット列として、 [y] を選択します。 この列には、クライアントが定期預金を申し込むかどうかが示されます。

    3. コンピューティングの種類として [コンピューティング クラスター] を選択します。

    4. [+新規] では、ストレージおよびコンピューティング ターゲットを構成します。 コンピューティング先とは、トレーニング スクリプトを実行したりサービスのデプロイをホストしたりするために使用されるローカルまたはクラウド ベースのリソース環境です。 この実験では、クラウド ベースのコンピューティングを使用します。

      1. [仮想マシンの選択] フォームに必要事項を入力してコンピューティングを設定します。

        フィールド 説明 チュートリアルの値
        場所 マシンを実行する場所となるリージョン 米国西部 2
        仮想マシンの階層 実験の優先度を選択します。 専用
        仮想マシンのタイプ コンピューティング用の仮想マシンの種類を選択します。 CPU (中央処理装置)
        仮想マシンのサイズ コンピューティングの仮想マシン サイズを選択します。 指定したデータと実験の種類に基づいて、推奨サイズの一覧が提供されます。 Standard_DS12_V2
      2. [次へ] を選択して、 [Configure settings](構成の設定) フォームに必要事項を入力します。

        フィールド 説明 チュートリアルの値
        コンピューティング名 コンピューティング コンテキストを識別する一意名。 automl-compute
        最小/最大ノード データをプロファイリングするには、1 つ以上のノードを指定する必要があります。 最小ノード: 1
        最大ノード: 6
        スケール ダウンする前のアイドル時間 (秒) クラスターが自動的に最小ノード数にスケールダウンされるまでのアイドル時間。 120 (既定値)
        詳細設定 実験用の仮想ネットワークを構成および承認するための設定。 なし
      3. [作成] を選択してコンピューティング先を作成します。

        完了するまでに数分かかります。

        [設定] ページ

      4. 作成後、ドロップダウン リストから新しいコンピューティング先を選択します。

    5. [次へ] を選択します。

  3. [Task type and settings](タスクの種類と設定) フォームで、機械学習のタスクの種類と構成設定を指定して、自動 ML 実験の設定を完了します。

    1. 機械学習のタスクの種類として [分類] を選択します。

    2. [View additional configuration settings](追加の構成設定を表示) を選択し、次のようにフィールドを設定します。 これらは、トレーニング ジョブをより細かく制御するための設定です。 設定しない場合、実験の選択とデータに基づいて既定値が適用されます。

      追加の構成 説明 チュートリアルの値
      主要メトリック 機械学習アルゴリズムを測定される評価メトリック。 AUC_weighted
      最適なモデルの説明 自動 ML で作成された最適なモデルの説明を自動的に表示します。 有効化
      ブロックされたアルゴリズム トレーニング ジョブから除外するアルゴリズム なし
      追加の分類設定 これらの設定は、モデルの精度を向上させるのに役立ちます 肯定クラス ラベル: なし
      終了条件 条件が満たされると、トレーニング ジョブが停止します。 トレーニング ジョブ時間 (時間単位): 1
      Metric score threshold (メトリック スコアのしきい値): なし
      コンカレンシー イテレーションごとに実行される並列イテレーションの最大数 コンカレント イテレーションの最大数: 5

      [保存] を選択します。

    3. [次へ] を選択します。

  4. [[省略可能] 検証とテスト] フォームで、

    1. [検証の種類] として [k フォールド クロス検証] を選択します。
    2. [クロス検証の数] として 2 を選択します。
  5. [完了] を選択して実験を実行します。 実験の準備が開始されると、[ジョブの詳細] 画面が開いて、一番上に [ジョブの状態] が表示されます。 この状態は、実験の進行に応じて更新されます。 スタジオの右上隅にも、実験の状態を表す通知が表示されます。

重要

実験の実行の準備に、10 から 15 分かかります。 実行の開始後、各イテレーションのためにさらに 2、3 分かかります。

運用環境では、しばらく席を離れるかもしれません。 ただし、このチュートリアルでは、他のイテレーションが実行中でも、アルゴリズムのテストが終わりしだい、 [モデル] タブで調査することをお勧めします。

モデルを調査する

[モデル] タブに移動し、テストされたアルゴリズム (モデル) を確認します。 既定では、モデルは完了時のメトリック スコアで並べ替えられます。 このチュートリアルでは、選択した AUC_weighted メトリックに基づいて最も高いスコアを獲得したモデルがリストの一番上に表示されます。

すべての実験モデルが終了するのを待っている間に、完了したモデルの [アルゴリズム名] を選択して、そのパフォーマンスの詳細を調査します。

次の例では、 [詳細][メトリック] のタブを移動して、選択したモデルのプロパティ、メトリック、およびパフォーマンス グラフを表示しています。

イテレーションの実行の詳細

モデルの説明

モデルが完成するまで待つ間、モデルの説明を参照し、どのデータの特徴 (未加工または設計済み) が特定のモデルの予測に影響したかを確認することもできます。

これらのモデルの説明は、オンデマンドで生成することができます。モデルの説明ダッシュボードに [説明 (プレビュー)] タブの一部として概要が表示されます。

モデルの説明を生成するには、

  1. 上部にある [ジョブ 1] を選択し、[モデル] 画面に戻ります。

  2. [モデル] タブを選択します。

  3. このチュートリアルでは、最初の MaxAbsScaler、LightGBM モデルを選択します。

  4. 上部にある [Explain model](モデルの説明) ボタンを選択します。 右側には [Explain model](モデルの説明) ペインが表示されます。

  5. 以前に作成した automl-compute を選択します。 このコンピューティング クラスターにより、モデルの説明を生成する子ジョブが開始されます。

  6. 下部にある [作成] を選択します。 画面の上部に緑色の成功メッセージが表示されます。

    注意

    説明可能性のジョブが完了するまでに約 2 分から 5 分かかります。

  7. [説明 (プレビュー)] ボタンを選択します。 説明可能性の実行が完了すると、このタブに設定されます。

  8. 左側にあるペインを展開し、 [特徴] の下にある raw という行を選択します。

  9. 右側の [Aggregate feature importance](特徴量の重要度の集計) タブを選択します。 このグラフは、選択したモデルの予測に影響を与えたデータの特徴を示しています。

    この例では、"期間" がこのモデルの予測に最も影響を与えているように見えます。

    モデルの説明ダッシュボード

最適なモデルをデプロイする

自動機械学習インターフェイスを使用すると、わずかな手順で最良のモデルを Web サービスとしてデプロイすることができます。 デプロイとは、新しいデータを予測したり、潜在的な機会領域を特定したりできるようにモデルを統合することです。

この実験における Web サービスへのデプロイは、定期預金の潜在顧客を特定するためのスケーラブルな反復 Web ソリューションを金融機関が持つことを意味します。

実験の実行が完了したかどうかを確認します。 これを行うには、画面の上部にある [ジョブ 1] を選択して、親ジョブのページに戻ります。 画面の左上に完了状態が表示されます。

実験の実行が完了すると、 [詳細] ページに [Best model summary](最適なモデルの概要) セクションが設定されます。 この実験では、VotingEnsembleAUC_weighted メトリックに基づいて最適なモデルと見なされます。

このモデルをデプロイしますが、デプロイには完了まで約 20 分かかることにご留意ください。 デプロイ プロセスには、モデルを登録したり、リソースを生成したり、Web サービス用にそれらを構成したりすることを含む、いくつかの手順が伴います。

  1. [VotingEnsemble] を選択して、モデル固有のページを開きます。

  2. 左上にある [デプロイ] メニューを選択し、[Web サービスにデプロイする] を選びます。

  3. [Deploy a model](モデルのデプロイ) ペインに次のように入力します。

    フィールド
    デプロイ名 my-automl-deploy
    デプロイの説明 初めての自動機械学習実験のデプロイ
    コンピューティングの種類 Azure コンテナー インスタンス (ACI) の選択
    認証を有効にする 無効。
    Use custom deployments (カスタム デプロイを使用する) 無効。 既定のドライバー ファイル (スコアリング スクリプト) と環境ファイルが自動的に生成されます。

    この例では、 [Advanced](詳細) メニューに指定されている既定値を使用します。

  4. [デプロイ] を選択します。

    [ジョブ] 画面の上部に成功を示す緑色のメッセージが表示され、[モデルの概要] ペインの [Deploy status](デプロイ状態) にステータス メッセージが表示されます。 [最新の情報に更新] を定期的にクリックして、デプロイの状態を確認します。

これで、予測を生成するための実稼働 Web サービスが作成されました。

新しい Web サービスの使い方、Azure Machine Learning サポートに組み込まれている Power BI を使用した予測のテスト方法の詳細については、次のステップに進みます。

リソースをクリーンアップする

デプロイ ファイルはデータ ファイルと実験ファイルよりも大きいため、格納コストは高くなります。 アカウントのコストを最小限に抑える場合、またはワークスペースと実験ファイルを保持する場合は、デプロイ ファイルだけを削除します。 それ以外の場合で、いずれのファイルも使用する予定がない場合は、リソース グループ全体を削除します。

デプロイ インスタンスの削除

他のチュートリアルや探索用にリソース グループとワークスペースを維持する場合は、https://ml.azure.com/ で Azure Machine Learning からデプロイ インスタンスだけを削除します。

  1. Azure Machine Learning に移動します。 お使いのワークスペースに移動し、左側の [アセット] ウィンドウの下の [エンドポイント] を選択します。

  2. 削除するデプロイを選択し、 [削除] を選択します。

  3. [続行] を選択します。

リソース グループを削除します

重要

作成したリソースは、Azure Machine Learning に関連したその他のチュートリアルおよびハウツー記事の前提条件として使用できます。

作成したどのリソースも今後使用する予定がない場合は、課金が発生しないように削除します。

  1. Azure Portal で、左端にある [リソース グループ] を選択します。

  2. 一覧から、作成したリソース グループを選択します。

  3. [リソース グループの削除] を選択します。

    Azure portal でリソース グループの削除を選択する画面のスクリーンショット。

  4. リソース グループ名を入力します。 次に、 [削除] を選択します。

次のステップ

この自動機械学習チュートリアルでは、Azure Machine Learning の自動 ML インターフェイスを使用して分類モデルの作成とデプロイを行いました。 詳細と次の手順については、次の記事を参照してください。

Note

この Bank Marketing データセットは、クリエイティブ コモンズ (CCO:パブリック ドメイン) ライセンスにより利用できます。 データベースの個々のコンテンツに含まれる権限は、データベース コンテンツ ライセンスによりライセンス供与され、Kaggle で入手できます。 このデータセットのオリジナルは、UCI Machine Learning データベースから入手できます。

[Moro その他、2014 年] S. Moro、P. Cortez、Rita。 銀行のテレマーケティングの成功を予測するためのデータドリブン アプローチ。 意思決定支援システム、Elsevier、62:22-31、2014 年 6 月。