インジケーター値への変換
重要
Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。
2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。
- ML Studio (クラシック) から Azure Machine Learning への機械学習プロジェクトの移動に関する情報を参照してください。
- Azure Machine Learning についての詳細を参照してください。
ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。
列内のカテゴリ値をインジケーター値に変換します
カテゴリ: データ変換/操作
注意
適用対象: Machine Learning Studio (クラシック) のみ
類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。
モジュールの概要
この記事では、Machine Learning Studio (クラシック) で [インジケーター値に変換] モジュールを使用する方法について説明します。 このモジュールの目的は、カテゴリ値を含む列を、機械学習モデルの特徴としてより簡単に使用できる一連のバイナリ インジケーター列に変換します。
インジケーター値への変換を構成する方法
[インジケーター値に変換] モジュールを Machine Learning実験に追加し、変換する列を含むデータセットに接続します。 このモジュールは、[操作] カテゴリの [データ変換] の下に表示 されます。
[列セレクター] を使用して、1 つまたは複数のカテゴリ列を選択します。
選択した列がカテゴリ別に表示される場合は、実験の [インジケーター値に変換] の前に [メタデータの編集] を使用して、ターゲット列をカテゴリとしてマークします。
新しいブール値の列のみを出力する場合は、 [カテゴリ列を上書き] オプションを選択します。
既定では、このオプションはオフになっています。これにより、ソースであるカテゴリ列と、関連するインジケーター列を表示できます。
ヒント
上書きするオプションを選択した場合、ソース列が実際に削除または変更されるわけではありません。 代わりに、新しい列が生成され、出力データセットに表示されます。ソース列は引き続きワークスペースで使用できます。 元のデータを参照する必要がある場合は、いつでも [列の追加] モジュールを使用して、ソース列を元に戻すことができます。
実験を実行します。
結果
たとえば、サーバーの障害の確率が高か中か低かを示すスコアを含む列がある場合です。
サーバー ID | 失敗スコア |
---|---|
10301 | 低 |
10302 | Medium |
10303 | 高 |
[インジケーター値に 変換] を適用すると、ラベルの 1 つの列がブール値を含む複数の列に変換されます。
サーバー ID | 失敗スコア - 低 | 失敗スコア - 中 | 失敗スコア - 高 |
---|---|---|---|
10301 | 1 | 0 | 0 |
10302 | 0 | 1 | 0 |
10303 | 0 | 0 | 1 |
変換のしくみを次に示します。
リスクについて記述する失敗スコアの列には、3 つの可能な値 (高、中、低) のみがあり、欠損値はありません。 そのため、3 つの新しい列が作成されます。
新しいインジケーター列には、ソース列の列見出しと値に基づいて、<ソース列>- <データ値>というパターンを使用した名前が付けられます。
1 つのインジケーター列に 1 つ、他のすべてのインジケーター列に 0 を指定する必要があります。 これは、各サーバーにリスク評価を 1 つしか設定できません。
これで、3 つのインジケーター列を特徴として使用し、さまざまなリスク レベルに関連付けられている他のプロパティとの相関関係を分析できます。
例
このモジュールの使用例については、次の記事を Azure AI Gallery。
がんの検出: 患者は患者 ID 番号に基づいてグループにビン分割され、インジケーター値を使用して、患者が属するグループにフラグを設定します。 そのグループのインジケーターが、後でモデルのスコア付けに使用されます。
直接マーケティング: 確率は、[算術演算の適用] を使用して定数と比較され、スコアが定数の上か下かを示す [はい]/[いいえ] の値が新しいインジケーター列に変換されます。
ネットワーク侵入検出: ログ データは Azure Storage から読み込まれます。 クラスの変数 (たとえば、攻撃がルートキットか、バッファー オーバーフローかなどを説明する) は、カテゴリ列に変換され、複数のインジケーター値に拡張されます。
テクニカル ノート
このセクションには、実装の詳細、ヒント、よく寄せられる質問への回答が含まれています。
使用上のヒント
カテゴリとマーク付けされている列のみをインジケーター列に変換できます。 このエラーが表示される場合は、選択した列の 1 つがカテゴリ別ではない可能性があります。
エラー 0056: Column with name <column name> is not in an allowed category. (<列名> という名前の列は、許可されたカテゴリに含まれていません。)
既定では、ほとんどの文字列列は文字列の特徴として処理されます。そのため、メタデータの編集を使用して明示的にカテゴリとしてマーク する必要があります。
少なくとも 1 つのカテゴリ列を選択しない場合は、エラーが表示されます。
インジケーター列に変換できる列数に制限はありません。 ただし、値の各列によって複数のインジケーター列が生成される可能性がある場合は、一度に数列だけ変換して確認することができます。
列に欠損値が含まれる場合は、[<ソース列> Missing] (欠損値)という名前で、欠損カテゴリに対して別個のインジケーター列が作成されます。
インジケーター値に変換する列に数値が含まれている場合、他の機能列と同様にカテゴリとしてマーク付けされている必要があります。 それを行った後、数値は不連続値として扱われます。 たとえば、範囲が 25 ~ 30 の MPG 値を持つ数値列がある場合、不連続値ごとに新しいインジケーター列が作成されます。
Make 高速道路燃費 (マイル/ガロン) -25 高速道路燃費 (マイル/ガロン) -26 高速道路燃費 (マイル/ガロン) -27 高速道路燃費 (マイル/ガロン) -28 高速道路燃費 (マイル/ガロン) -29 高速道路燃費 (マイル/ガロン) -30 アルファロメオ 0 0 0 0 0 1 多数のインジケーター列を取得しないようにするには、まず列の値の数を確認し、データを適切にビン分割または量子化することをお勧めします。
想定される入力
名前 | 型 | 説明 |
---|---|---|
データセット | データ テーブル | カテゴリ列を含むデータセット |
モジュールのパラメーター
名前 | Range | Type | Default | 説明 |
---|---|---|---|---|
変換するカテゴリ列 | Any | ColumnSelection | インジケーターのマトリックスに変換するカテゴリ列を選択します。 | |
カテゴリ列を上書きする | Any | Boolean | false | True の場合は選択したカテゴリ列を上書きし、それ以外の場合は、結果として得られるインジケーターのマトリックスをデータセットに追加します。 |
出力
名前 | 型 | 説明 |
---|---|---|
結果のデータセット | データ テーブル | インジケーターのマトリックスに変換されるカテゴリ列を含むデータセット |