データセットへの変換

重要

Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。

2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。

ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。

データ入力を、Microsoft Machine Learning で使用される内部データセット形式に変換します。

カテゴリ: データ形式の変換

注意

適用対象: Machine Learning Studio (クラシック) のみ

類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。

モジュールの概要

この記事では、Machine Learning Studio (クラシック) の [データセットに変換] モジュールを使用して、実験に必要なデータを Studio (クラシック) で使用される内部形式に変換する方法について説明します。

ほとんどの場合、変換は必要ありません。データに対して操作が実行Machine Learningデータが暗黙的にネイティブ データセット形式に変換される可能性があります。

ただし、一連のデータに対してある種の正規化やクリーニングを実行していて、変更内容を今後の実験でも確実に使用する場合は、データをデータセット形式で保存することをお勧めします。

注意

データセットへの変換ではデータの形式が変更されるだけであり、データの新しいコピーがワークスペースに保存されるわけではありません。 データセットを保存するには、出力ポートをダブルクリックし、[Save as dataset]\(データセットとして保存\) を選択して新しい名前を入力します。

データセットへの変換の使用方法

データセットへの変換を使用する前に、メタデータの編集モジュールを使用してデータセットを準備することをお勧めします。 列名の追加や変更、データ型の調整などを行うことができます。

  1. [データセット に変換] モジュールを 実験に追加します。 このモジュールは、Machine Learning Studio (クラシック) の [データ形式変換] カテゴリで確認できます。

  2. データセットを出力する任意のモジュールに、それを接続します。

    データが表形式の場合は、データセットに変換できます。 これには、データのインポートを使用して読み込まれたデータ、Enter Data Manually を使用して作成されたデータ、カスタム モジュール内のコードによって生成されたデータ、変換の適用を使用して変換されたデータセット、または apply SQL Transformation を使用して生成または変更されたデータセットが含まれます。

  3. [アクション] ドロップダウン リストで、データセットを保存する前にデータのクリーンアップを実行するかどうかを指定します。

    • [なし]: データをそのまま使用します。

    • SetMissingValue: 欠損値がある場所にデータセットに挿入されるプレースホルダーを指定します。 既定のプレースホルダーは疑問符文字 (?) ですが、Custom missing value オプションを使用して別の値を入力できます。

    • ReplaceValues:このオプションを使用して、その他の正確な値に置き換えられる単一の正確な値を指定します。 たとえば、欠損値の obs プレースホルダーとして使用される文字列がデータに含まれていると仮定すると、次のオプションを使用してカスタム置換操作を指定できます。

      1. [置換 ] を [ カスタム] に 設定する

      2. [Custom value]\(カスタム値\) には、検索する値を入力します。 この場合は、「obs」と入力します。

      3. [New value]\(新しい値\) には、元の文字列を置き換える新しい値を入力します。 この場合は、「」と入力します。 ?

    ReplaceValues 操作は、完全一致にのみ適用されることに注意してください。 たとえば、obs.obsolete といった文字列は影響を受けません。

    • SparseOutput: データセットがスパース状態を示します。 スパース データ ベクターを作成することで、欠損値がスパース データ分散に影響を与え "ない" ことを確認できます。 このオプションを選択した後、欠損値とゼロ値を処理する方法を指定する必要があります。

    0 以外の値を削除するには、 [削除] オプション クリックし、削除する 1 つの値を入力します。 不足値を削除するか、ベクターから削除するカスタム値を設定できます。 完全一致だけが削除されます。 たとえば、 [値の削除 x ] テキスト ボックス に「」と入力した場合、 xx 行は影響を受け "ない" と表示されます。

    既定では、 [ゼロの削除] オプションTrueに設定されています。つまり、スパース列の作成時に 0 の値はすべて削除されます。

  4. 実験を実行するか、[データセットに変換 ] モジュールを 右クリックし、[選択した 実行] を選択します

結果

  • 結果のデータセットを新しい名前で保存するには、データセットへの変換の出力を右クリックし、[Save as Dataset]\(データセットとして保存\) を選択します。

データセットへの変換モジュールの使用例については、次のAzure AI Gallery。

  • CRM サンプル: 共有データセットから読み取り、ローカル ワークスペースにデータセットのコピーを保存します。

  • フライト遅延の例: 欠損値を置き換え、後で実験に使用できるよう、クリーンアップされたデータセットを保存します。

テクニカル ノート

このセクションには、実装の詳細、ヒント、よく寄せられる質問への回答が含まれています。

  • データセットを入力として受け取るモジュールは、CSV、TSV、または ARFF 形式のデータも受け取ることができます。 任意のモジュール コードが実行される前に、入力の前処理が実行されます。これは入力に対してデータセットへの変換モジュールを実行するのと同じです。

  • SVMLight 形式からデータセットに変換することはできません。

  • カスタム置換操作を指定する場合、検索と置換の操作は完全な値に適用されます。部分的な一致は許可されません。 たとえば、3 を-1 または 33 に置き換えることはできますが、35 などの 2 桁の数字の中の 3 を置き換えることはできません。

  • カスタム置換操作では、列の現在のデータ型に準拠していない文字を置換として使用すると、置換は自動的に失敗します。

  • スパースで欠損値を持つ数値データを使用するデータを保存する必要がある場合、Studio (クラシック) は、Math.NET 数値ライブラリのクラスである SparseVector を使用してスパース配列を内部的にサポートします。 ゼロを使用し、欠損値を含むデータを準備し、引数 SparseOutputRemove Zeros = TRUE でデータセットに変換を使用します。

想定される入力

名前 説明
データセット データ テーブル 入力データセット

モジュールのパラメーター

名前 Range Type Default 説明
アクション リスト アクション メソッド なし 入力データセットに適用される操作

出力

名前 説明
結果のデータセット データ テーブル 出力データセット

関連項目

データ形式の変換
モジュールの一覧 (アルファベット順)