Azure Machine Learning スタジオを使用してデータに接続する

この記事では、Azure Machine Learning スタジオを使用してデータにアクセスする方法について説明します。 Azure Machine Learning データストアを使用して Azure Storage サービス内のデータに接続します。 次に、その ML ワークフロー タスクのデータを Azure Machine Learning データセットにパッケージ化します。

この表では、データストアとデータセットの定義を示し、その利点の概要を説明しています。

Object 説明 メリット
データストア Azure 上のストレージ サービスに安全に接続するには、ワークスペースに関連する接続情報 (サブスクリプション ID、トークン承認など) を Key Vault に格納します 情報は安全に保存されるため、認証資格情報や元のデータ ソースが危険にさらされることはありません。また、これらの値をスクリプトにハード コーディングする必要がなくなります。
データセット データセットを作成すると、データ ソースの場所への参照および、そのメタデータのコピーも作成されます。 データセットを使用すると、モデルのトレーニング中にデータにアクセスしたり、データを共有して他のユーザーと共同作業したり、Pandas などのオープンソース ライブラリを使用してデータ探索を行ったりすることができます。 データセットは遅延評価され、データは既存の場所に残るので、お使いのストレージにはデータセットの単一コピーが保持されます。 さらに、追加のストレージ コストは発生せず、元のデータ ソースに対する意図しない変更を回避し、ML ワークフローのパフォーマンス速度を向上させることができます。

データストアとデータセットが Azure Machine Learning のデータ アクセス ワークフロー全体のどこに当てはまるかについては、「安全にデータにアクセスする」を参照してください。

Azure Machine Learning Python SDK とコード ファースト エクスペリエンスの詳細については、次を参照してください。

前提条件

  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。 無料版または有料版の Azure Machine Learning をお試しください

  • Azure Machine Learning スタジオにアクセスする

  • Azure Machine Learning ワークスペース。 ワークスペース リソースを作成する

    • ワークスペースを作成すると、ワークスペースに Azure BLOB コンテナーと Azure ファイル共有がデータストアとして自動的に登録されます。 これらの名前は、それぞれ workspaceblobstore および workspacefilestore となります。 十分な BLOB ストレージ リソースとして、workspaceblobstore が既定のデータストアとして設定され、既に使用できるように構成されています。 より多くの BLOB ストレージ リソースが必要な場合は、サポートされているストレージの種類の Azure ストレージ アカウントが必要です。

データストアの作成

データストアは、これらの Azure Storage ソリューションから作成できます。 サポートされていないストレージ ソリューションの場合、および ML 実験中のデータ エグレス コストを節約するためには、サポートされている Azure Storage ソリューションにデータを移行する必要があります。 データストアの詳細については、こちらのリソースを参照してください。

資格情報ベースのアクセスまたは ID ベースのアクセスを使用したデータストアを作成できます。

Azure Machine Learning スタジオを使用して新しいデータストアを作成します。

重要

データ ストレージ アカウントが仮想ネットワーク内にある場合は、スタジオがデータにアクセスできるようにするために、追加の構成手順が必要になります。 適切な構成手順の詳細については、「Network の分離とプライバシー」を参照してください。

  1. Azure Machine Learning Studio にサインインします。
  2. [アセット] の下の左側のペインで [データ] を選択します。
  3. 上部の [データストア] を選択します。
  4. [+作成] を選択します。
  5. フォームに入力し、新しいデータストアを作成して登録します。 このフォームは、選択した Azure Storage の種類と認証の種類に基づいて、インテリジェントに自動更新されます。 このフォームに入力するために必要な認証資格情報の場所の詳細については、ストレージのアクセスとアクセス許可セクションを参照してください。

このスクリーンショットは、Azure BLOB データストアの作成パネルを示しています。

Azure BLOB データストアの作成パネルを示すスクリーンショット。

データ資産を作成する

データストアを作成したら、データを操作するためのデータセットを作成します。 データセットは、データを機械学習タスク (トレーニングなど) 用に遅延評価された使用可能なオブジェクトにパッケージ化します。 データセットの詳細については、「Azure Machine Learning データセットの作成」を参照してください。

データセットには、FileDataset と TabularDataset の 2 種類があります。 FileDatasets は、1 つまたは複数のファイル、またはパブリック URL への参照を作成します。 TabularDatasets は表形式でデータを表します。 TabularDatasets は、

  • .csv
  • .tsv
  • .parquet
  • json ファイルおよび、SQL クエリの結果から作成できます。

次の手順では、Azure Machine Learning Studio でデータセットを作成する方法を示します。

注意

Azure Machine Learning Studio を介して作成されたデータセットは、自動的にワークスペースに登録されます。

  1. Azure Machine Learning Studio に移動します

  2. 左側のナビゲーションの [資産][データ] を選択します。 [データ アセット] タブで [作成] を選びます [データ アセット] タブの [作成] を示すスクリーンショット。

  3. データ アセットの名前と説明 (省略可能) を指定します。 次に、[種類]で データセットの種類 ([ファイル] または [表形式]) を選択します。 データ アセットの名前、説明、および種類の設定を示すスクリーンショット。

  4. 次のスクリーンショットのように、[データ ソース] ウィンドウが隣に開きます。

データ ソース選択ウィンドウを示すスクリーンショット。

データ ソースにはさまざまなオプションがあります。 Azure に既に格納されているデータの場合は、[Azure Storage から] を選びます。ローカル ドライブからデータをアップロードするには、[ローカル ファイルから] を選択します。データがパブリックな Web ロケーションに格納されている場合は、[Web ファイルから] を選択します。SQL データベースから、または Azure Open Datasets からデータ資産を作成することもできます。

  1. ファイルの選択ステップで、Azure でデータを格納する場所と、使用するデータ ファイルを選択します。

    1. データが仮想ネットワーク内にある場合は、検証のスキップを有効にします。 仮想ネットワークの分離とプライバシーについて理解を深める。
  2. データ資産のデータ解析設定とスキーマを設定する手順に従います。 ファイルの種類に基づいて事前に設定が行われます。データ アセットを作成する前に、追加の設定を行うこともできます。

  3. [レビュー] のステップに到達したら、最後のページで [作成] を選択します

データのプレビューとプロファイル

データセットを作成したら、スタジオでプレビューとプロファイルを表示できることを確認します。

  1. Azure Machine Learning スタジオにサインインします。
  2. 左側のナビゲーションの [資産][データ] を選択します。 [データ資産] タブの [作成] がスクリーンショットで強調表示されています。
  3. 表示するデータセットの名前を選択します。
  4. [Explore (探索)] タブをクリックします。
  5. [プレビュー] タブを選択します。データセットのプレビューがスクリーンショットに表示されています。
  6. [プロファイル] タブを選択します。 スクリーンショットには、[プロファイル] タブのデータセット列のメタデータが表示されます。

データ セットが ML 対応であるかどうかを確認するために、データセット全体で概要統計情報を取得できます。 数値以外の列の場合、これらの統計には基本的な統計 (min、max、error count など) のみが含まれます。 数値列には、統計的モーメントと推定分位点が含まれます。

Azure Machine Learning データセットのデータ プロファイルには、次のものが含まれます。

Note

無関係な型を持つ特徴には空白のエントリが表示されます。

統計 説明
機能 集計された列の名前
プロファイル 推論された型に基づくインライン視覚化。 文字列、ブール値、日付には値カウントがあります。 10 進数 (数値) には近似ヒストグラムがあります。 これらの視覚化により、データ分散をすばやく解釈できます
型の分布 列内の型のインライン値カウント。 Null は独自の型であるため、この視覚化を使用すると奇数または欠損値を検出できます
Type 推定された列の型。 取り得る値は、文字列、ブール値、日付、10 進数です
Min 列の最小値。 型に固有の順序がない特徴の場合 (ブール値など)、空白のエントリが表示されます
Max 列の最大値。
カウント 列内の欠落しているエントリと欠落していないエントリの合計数
Not Missing Count 列内の欠落していないエントリの数。 空の文字列とエラーは値として扱われるため、"欠落していないカウント" には含まれません。
分位点 データ分布を感覚的に示す、各分位点での近似値
Mean (平均値) 列の算術平均 (mean、average)
標準偏差 この列のデータに関する分散または変動の尺度
差異 この列のデータに関する平均値からの広がりの尺度
傾斜 この列のデータの正規分布との差を示します
尖度 正規分布と比較して、この列のデータがどの程度 "末尾" にあるかを示します

ストレージへのアクセスとアクセス許可

Azure ストレージ サービスに安全に接続するためには、Azure Machine Learning では、対応するデータ ストレージにアクセスするためのアクセス許可が必要です。 このアクセスは、データストアの登録に使用される認証資格情報に依存します。

仮想ネットワーク

データ ストレージ アカウントが仮想ネットワーク内にある場合、Azure Machine Learning がデータにアクセスできるようにするためには、追加の構成手順が必要になります。 データストアを作成して登録する際に適切な構成手順が適用されるようにするには、仮想ネットワークで Azure Machine Learning Studio を使用する方法に関するページを参照してください。

アクセス検証

警告

ストレージ アカウントへのクロス テナント アクセスはサポートされていません。 お客様のシナリオでクロス テナント アクセスが必要になる場合は、カスタム コード ソリューションに関するサポートについて、Azure Machine Learning データ サポート チーム amldatasupport@microsoft.com までお問い合わせください。

最初のデータストアの作成と登録のプロセスの一部として、Azure Machine Learning により、基になるストレージ サービスが存在すること、およびユーザーが指定したプリンシパル (ユーザー名、サービス プリンシパル、または SAS トークン) で指定したストレージにアクセスできることが自動的に検証されます。

データストアの作成後に、この検証は基になるストレージ コンテナーへのアクセスを必要とするメソッドに対してのみ実行されます。 この検証は、データストア オブジェクトが取得されるたびに実行されるものではありません。 たとえば、データストアからファイルをダウンロードする際に検証が行われます。 ただし、既定のデータストアを変更する場合、検証は行われません。

基になるストレージ サービスへのアクセスを認証するには、作成するデータストアの種類に従って、アカウント キー、Shared Access Signature (SAS) トークン、またはサービス プリンシパルを指定します。 ストレージの種類のマトリックスには、各データストアの種類に対応する、サポートされている認証の種類が一覧表示されています。

アカウント キー、SAS トークン、サービス プリンシパルの情報は、Azure portal で確認できます。

  • 認証にアカウント キーを取得するには、左ウィンドウで [ストレージ アカウント] を選択し、登録するストレージ アカウントを選びます

    • [概要] ページには、アカウント名、コンテナー、ファイル共有名などの情報が表示されます。
    • 左側のナビゲーションで、[セキュリティとネットワーク] ノードを展開します
    • [アクセス キー] を選択します。
    • 使用可能なキー値は、アカウント キー値として機能します
  • 認証用の SAS トークンを取得するには、左ウィンドウで [ストレージ アカウント] を選択し、目的のストレージ アカウントを選択します

    • アクセス キー値を取得するには、左側のナビゲーションの [セキュリティとネットワーク] ノードを展開します
    • [Shared Access Signature] を選択します
    • プロセスを完了し、SAS 値を生成します
  • 認証にサービス プリンシパルを使うには、[アプリの登録] に移動して、使用するアプリを選択します。

    • 対応する [概要] ページに、テナント ID やクライアント ID などの必要な情報が記載されています。

重要

  • Azure Storage アカウントのアクセス キー (アカウント キーまたは SAS トークン) を変更する場合は、必ず新しい資格情報をワークスペースおよびそれに接続されているデータストアと同期してください。 詳しくは、更新した資格情報の同期に関する記事を参照してください。
  • データストアの登録を解除した後に同じ名前で再登録を試みて、再登録に失敗する場合は、ワークスペースの Azure Key Vault で論理的な削除が有効になっていない可能性があります。 既定では、ワークスペースによって作成されたキー コンテナー インスタンスでは論理的な削除が有効になっていますが、既存のキー コンテナーを使用した場合、または 2020 年 10 月より前にワークスペースを作成した場合は、論理的な削除が有効になっていないことがあります。 論理的な削除を有効にする方法の詳細については、「既存のキー コンテナーで論理的な削除を行う」を参照してください。

アクセス許可

Azure BLOB コンテナーと Azure Data Lake Gen 2 ストレージの場合は、認証資格情報にストレージ BLOB データ閲覧者アクセス権があることを確認してください。 ストレージ BLOB データ閲覧者の詳細については、こちらを参照してください。 既定では、アカウント SAS トークンにはアクセス許可がありません。

  • データ読み取りアクセスの場合、認証資格情報には、コンテナーとオブジェクトに対するリストと読み取りのアクセス許可が少なくとも必要となります。

  • データ書き込みアクセスの場合は、書き込みと追加のアクセス許可も必要です。

データセットを使用したトレーニング

ML モデルのトレーニングのために、機械学習の実験でデータセットを使用します。 データセットを使ってトレーニングする方法の詳細をご覧ください

次のステップ