チュートリアル: Azure Machine Learning スタジオでコードなしの自動機械学習を使用して需要を予測する

Azure Machine Learning スタジオで自動化された機械学習を使用して、1 行のコードを記述せずに時系列予測モデルを作成する方法について説明します。 このモデルは、自転車シェアリング サービスのレンタル需要を予測します。

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

  • データセットを作成して読み込む。
  • 自動 ML 実験を構成して実行する。
  • 予測設定を指定する。
  • 実験結果を調べる。
  • 最適なモデルをデプロイする。

他のモデルの種類に対して自動機械学習を試すには、次を参照してください。

前提条件

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

このチュートリアルでは、Azure Machine Learning スタジオで自動 ML 実験の実行を作成します。 Azure Machine Learning スタジオは、すべてのスキル レベルのデータ サイエンス実践者向けにデータ サイエンス シナリオを実行するための機械学習ツールを含む統合 Web インターフェイスです。

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

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

実験の作成

  1. 左側のメニューの [ 作成 ] セクションで、[ 自動 ML] を選択します。

    Azure Machine Learning スタジオの自動 ML の [作成の概要] ページを示すスクリーンショット。

  2. [新規の自動機械学習ジョブ] を選択して、[自動 ML ジョブを送信する] プロセスを開始します。

    既定では、プロセスは [トレーニング方法] タブの [自動的にトレーニングする] オプションを選択し、構成設定に進みます。

  3. [基本設定] タブで、[ジョブ] 名、[実験] 名などの必要な設定の値を入力します。 このチュートリアルでは、実験名として automl-bikeshare を使用します。 必要に応じて、オプションの設定の値を指定することもできます。

  4. [次へ] を選択して続行します。

タスクの種類とデータセットを構成する

[ タスクの種類とデータ ] タブで、実験のデータ資産と、データのトレーニングに使用する機械学習モデルを指定します。 このチュートリアルでは、 bike-no.csv ファイルを使用します。 ファイルをダウンロードしなかった場合は、今すぐダウンロードしてください。

  1. [ タスクの種類とデータ ] フォームで、タスクの種類として 時系列予測 を選択します。

  2. [ 作成] を選択して、ダウンロードしたファイルから新しいデータ資産を作成します。

  3. [ データ型 ] ページで、データセットの名前を入力し、オプションの説明を入力します。 データセットの種類を 表形式に設定します。 [次へ] を選択して続行します。

  4. [データ ソース] ページで、[ローカル ファイルから] を選択します。

データ ソースを構成するための追加オプションが左側のメニューに表示されます。

  1. [次へ] を選択し、[Destination storage type]\(コピー先のストレージの種類\) ページに進み、データ資産をアップロードする Azure Storage の場所を指定します。

    1. [接続の種類][Azure Blob Storage] を選択します。
    2. データストアの一覧で、ワークスペース作成プロセスで自動的に設定される既定のデータストア ( workspaceblobstore) を選択します。
    3. [次へ] を選択します。
  2. [ ファイルとフォルダーの選択 ] ページで、[ ファイルまたはフォルダーのアップロード ] ドロップダウン メニューを使用し、[ ファイルのアップロード ] オプションを選択します。

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

    2. ファイルのアップロード後、[次へ] を選択します。

  3. [ 設定] ページで、アップロードしたデータの精度を確認します。 ページ上のフィールドは、データのファイルの種類に基づいて事前設定されます。

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

    1. このチュートリアルでは、 カジュアル 列と 登録済み 列を無視することを選択します。 これらの列は cnt 列の内訳であるため、含めないでください。

    2. このチュートリアルでも、PropertiesType は既定のままにしておきます。

    3. [ 次へ ] を選択して、[ 確認と作成 ] ページに進みます。

  5. データ資産の設定を確認します。 問題がなければ、[ 作成 ] を選択してデータ資産を作成します。

タスクと予測の設定を構成する

データ資産の準備ができたら、Machine Learning Studio は [タスクの種類とデータ] タブに戻り、自動 ML ジョブ プロセスを送信します。 新しいデータ資産がページに表示されます。

ジョブの構成を完了するには、次の手順に従います。

  1. [ タスクの種類の選択 ] ドロップダウン メニューを展開し、[ 時系列予測] を選択します。

  2. トレーニング モデルを指定したら、一覧からデータセットを選択します。 [次へ] を選択して、[タスクの設定] タブに進みます。

  3. [ ターゲット列 ] ドロップダウン リストで、モデル予測に使用する cnt 列を選択します。

  4. [時刻列] として [date] を選択し、 [時系列識別子] を空白のままにします。

  5. [頻度] は、履歴データの収集頻度です。 [自動検出] を選択したままにします。

  6. 予測期間とは、予測対象となる将来の時間の長さです。 [自動検出] の選択を解除し、フィールドに「14」と入力します。

  7. [ ディープ ラーニングを有効にする] はオフのままにします。

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

    追加の構成 説明 チュートリアル用の値
    主要メトリック 機械学習アルゴリズムの測定基準となる評価メトリック。 正規化二乗平均平方根誤差
    最適なモデルの説明 自動 ML で作成された最適なモデルの説明を自動的に表示します。 有効にする
    ブロックされたモデル トレーニングジョブから除外するアルゴリズム 極端なランダム ツリー
    その他の予測設定 これらの設定は、モデルの精度を向上させるのに役立ちます。

    予測ターゲットのラグ: ターゲット変数のラグをどこまでさかのぼって作成するか
    ターゲット ローリング ウィンドウ: 最大最小合計などのフィーチャが生成されるローリング ウィンドウのサイズを指定します。


    予測ターゲットのラグ: なし
    ターゲットのローリングウィンドウサイズ: なし
    Limits 条件が満たされると、トレーニング ジョブは停止します。 最大同時試行回数: 6
    メトリック スコアのしきい値: なし
    実験のタイムアウト (分): 180
  9. [省略可能] 検証およびテスト フォームで、次の手順を実行します。

    1. 検証の種類として k フォールドクロス検証を選択します。

    2. クロス検証の数として 5 を選択します。

  10. [保存] を選択します。

コンピューティング ターゲットを構成する

データを読み込んで構成したら、リモート コンピューティング ターゲットを設定します。

  1. Computeフォームに次のように入力します。

    1. [ コンピューティングの種類の選択 ] ドロップダウン リストを使用して、コンピューティングの種類として コンピューティング クラスター を選択します。

    2. コンピューティング ターゲットを構成するには、+新規 を選択します。 自動 ML では、Azure Machine Learning コンピューティングのみがサポートされます。

      1. コンピューティング環境を設定するには、仮想マシンの選択フォームに入力します。

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

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

        この手順の完了には数分かかります。

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

    3. [次へ] を選択して、[レビュー] ページに進みます。 ジョブの構成設定の概要を確認します。

実験を実行する

実験を実行するには、[ トレーニング ジョブの送信] を選択します。 [ジョブの詳細] 画面が開き、上部のジョブ番号の横に [ジョブの状態] が表示されます。 この状態は、実験の進行に応じて更新されます。 スタジオの右上隅にも通知が表示され、実験の状態が通知されます。

重要

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

本番環境では、このプロセスには時間がかかるため、しばらく席を外すことになるでしょう。 待っている間に、完了したら、[ モデル ] タブでテスト済みのアルゴリズムの探索を開始します。

モデルを調査する

[モデル + 子ジョブ] タブに移動し、テストされたアルゴリズム (モデル) を確認します。 既定では、モデルは完了時のメトリック スコアで並べ替えられます。 このチュートリアルでは、選択 した正規化された平方根平均二乗誤差 メトリックに基づいて最も高いスコアを付けたモデルが一覧の一番上に表示されます。

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

次の例は、ジョブが作成したモデルの一覧からモデルを選択する方法を示しています。 次に、[ 概要 ] タブと [ メトリック] タブを選択して、選択したモデルのプロパティ、メトリック、およびパフォーマンス グラフを表示します。

モデルのプロパティとパフォーマンス グラフを表示するための [概要] タブと [メトリック] タブを示すモデル探索インターフェイス内を移動するスクリーンショット。

モデルをデプロイする

Azure Machine Learning スタジオの自動機械学習は、いくつかの手順で最適なモデルをリアルタイムのオンライン エンドポイントにデプロイするのに役立ちます。 "デプロイ" とは、新しいデータを予測したり、改善の余地がある領域を特定したりできるようにモデルを統合することです。

この実験では、リアルタイム エンドポイントへのデプロイは、自転車共有会社が自転車共有のレンタル需要を予測するためのスケーラブルな Web ソリューションを持っていることを意味します。

[自動 ML] ページからデプロイする場合、スコア付けスクリプトや環境を準備する必要はありません。 Azure Machine Learning、完全に管理されたオンライン エンドポイントでモデルを自動生成し、ホストします。

ジョブが完了したら、画面の上部にある [ジョブ 1 ] を選択して、親ジョブ ページに戻ります。

[ Best model summary]\(最適なモデルの概要 \) セクションでは、 正規化された平方平均平方誤差 メトリックに基づいて、この実験のコンテキストで最適なモデルが選択されます。

このモデルをデプロイします。 デプロイが完了するまでに数分かかる場合があります。 デプロイ プロセスによってモデルが登録され、スコア付けスクリプトと環境が自動生成され、オンライン エンドポイントがプロビジョニングされます。

  1. 最適なモデル を選択して、モデル固有のページを開きます。

  2. [デプロイ]>[リアルタイム エンドポイント] を選択します。

    Azure Machine Learningは、デプロイに必要なモデルと環境を生成します。

  3. 展開ウィザードで、次の値を指定します。 一覧にないフィールドの既定値をそのまま使用します。

    フィールド
    エンドポイント名 bikeshare-endpointなどの一意の名前を入力します。
    デプロイ名 bikeshare-deployなどの名前を入力します。
    仮想マシン 推奨される既定の仮想マシン サイズをそのまま使用します。
    インスタンス数 1
    認証の種類 既定値のままにします (キーベースの認証)。
  4. ウィザードの残りの手順を完了し、[ 展開] を選択します。

    通知は、デプロイが正常に開始されたことを確認します。 [デプロイの状態] の [モデルの概要] ウィンドウで進行状況を追跡します。

デプロイが成功すると、予測を生成する運用リアルタイム エンドポイントが作成されます。

新しいエンドポイントを使用し、Power BIの組み込みのAzure Machine Learningサポートを使用して予測をテストする方法の詳細については、「次の手順」を参照してください。

Azure CLIや Python SDK など、その他のデプロイ オプションについては、「AutoML モデルをオンライン エンドポイントにデプロイする」を参照してください。

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

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

リアルタイム エンドポイントを削除する

他のチュートリアルや探索のためにリソース グループとワークスペースを保持する場合は、Azure Machine Learning スタジオからリアルタイム エンドポイントのみを削除します。 エンドポイントを削除すると、関連付けられているデプロイも削除されます。

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

  2. 削除するエンドポイントを選択し、[削除] を選択 します

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

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

重要

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

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

  1. Azure portal の検索ボックスに「リソース グループ」と入力し、それを結果から選択します。

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

  3. [概要] ページで、[リソース グループの削除] を選択します。

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

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

次のステップ

このチュートリアルでは、Azure Machine Learning Studio で自動 ML を使用して、自転車シェアリングのレンタル需要を予測する時系列予測モデルを作成してデプロイしました。

この自転車共有データセットは、このチュートリアル用に変更されています。 このデータセットは、Kaggle コンテストの一部として提供されており、もともとは Capital Bikeshare を通じて入手可能でした。 また、UCI Machine Learning データベース内で見つけることもできます。

ソース: Fanaee-T, Hadi, and Gama, Joao、「Event labeling combining ensemble detectors and background knowledge」、Progress in Artificial Intelligence (2013): pp. 1-15、Springer Berlin Heidelberg。