データ変換-カウントを含むラーニング

重要

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

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

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

この記事では、カウントベースの特性付けをサポートする Machine Learning Studio (クラシック) のモジュールについて説明します。

注意

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

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

カウントを使用するラーニングは、値の数に基づいてデータセット機能のコンパクトなセットを作成するための効率的な方法です。 このカテゴリのモジュールを使用して、カウントと機能のセットを作成できます。 後で、数と機能を更新して新しいデータを活用したり、カウントデータの2つのセットをマージしたりすることができます。

カウントベースの特性付けの概要

カウントベースの特性付けの基本的な概念は、カウントを計算することで、最も重要な情報が含まれている列の概要をすばやく簡単に取得できることです。 モジュールは、値が表示される回数をカウントし、モデルへの入力の機能としてその情報を提供します。

クレジットカードトランザクションを検証している Imagine ます。 重要な情報は、このトランザクションの発生元です。 トランザクションの配信元の最も一般的なエンコーディングの1つは、郵便番号です。 ただし、それを構成する郵便番号や地理的なコードが 40,000 件も存在する可能性があります。 ご使用のモデルには 40,000 を超えるパラメーターを学習する容量がありますか? 容量を指定した場合、オーバーフィットを防ぐために十分なトレーニングデータがありますか。

多くのサンプルを含む優れたデータがある場合、このような細かいローカル粒度は強力です。 ただし、不正なトランザクションのサンプルが1つしかない場合は、その場所からのすべてのトランザクションが不良であるか、または十分なデータがないことを意味しますか。

1つの解決策は、カウントについて学習することです。 4万を超える機能を導入するのではなく、郵便番号ごとに不正行為の数と比率を確認できます。 これらのカウントを特徴として使用することで、各値の証拠の強度に関する情報を取得できます。 さらに、カウントの関連する統計情報をエンコードすることで、学習器は統計を使用して、その方法を変更するタイミングを決定し、代わりに他の機能を使用して情報を取得できます。

カウントベースの学習は多くの理由で魅力的です。 カウントベースの学習では、必要なパラメーターの数が少なくなります。 より少ないパラメーターを使用すると、学習が高速化され、予測が速くなり、予測子が小さくなり、過度に適合する可能性が低くなります。

カウントベースの機能の作成方法

基本的な例として、カウントベースの特徴を作成および適用する方法を示します。 次のようなテーブルがあり、ラベルと入力を使用しているとします。 各ケース (または行またはサンプル) には、列に値のセットがあります。 この例では、値は A と B です。

ラベル列 入力値
0 A
0 A
1 A
0 B
1 B
1 B
1 B

カウントベースの特徴を作成するには、次の手順を実行します。

  1. 特定の値のセットについては、同じ値を持つそのデータセット内の他のすべてのケースを検索します。 この場合、のインスタンスは3つ、B のインスタンスは4つです。
  2. 各値のクラスメンバーシップを、それ自体の特徴としてカウントします。 この場合、小さい行列が得られます。 A = 0 の場合は2つのケースがあります。1つのケースで = 11つのケースで B = 0;ここで、B = 1 という3つのケースがあります。
  3. このマトリックスに基づいて、カウントベースのさまざまな機能を利用できます。 これには、ログの確率比率と各ターゲットクラスの数の計算が含まれます。 次のセクションの表は、データを示しています。

カウントベースの特徴のサンプルテーブル

Label 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0.510826 0
0 2 1 0.510826 0
1 2 1 0.510826 0
0 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0

Machine Learning 使用してクリックスルー予測モデルを構築するために、Microsoft Machine Learning チームは Machine Learning でカウントを使用する方法の詳細なチュートリアルを提供しています。 この記事では、カウントベースのモデリングの有効性を他の方法と比較します。

テクニカル ノート

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

ログ損失値の計算方法

ログ損失値は、ログ記録の可能性がありません。 この場合、以前の分布を使用して、ログの可能性がある計算をスムーズに行います。

バイナリ分類に使用されるデータセットがあるとします。 このデータセットでは p_0 、クラス0の前の頻度はで、クラス 1 p_1 = 1 – p_0 の前の頻度はになります。 特定のトレーニング例の特徴では、クラス0のカウントは x_0 で、クラス1のカウントは x_1 です。

このような仮定では、ログの可能性はとして LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1) 計算されます。ここ c で、は、ユーザーが設定できる前の係数です。 Log 関数は、自然な基本を使用します。

つまり、クラス i ごとに、次のようになります。

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

前の係数が正の場合、とは異なる Log(count[i] / (sum_of_counts – count[i])) 可能性があります。

一部の項目について、ログの可能性が計算されない理由

既定では、カウントが10未満のすべての項目は、"ガベージビン" と呼ばれる1つのバケットに収集されます。この値を変更するには、カウントテーブルパラメーターの変更モジュールで [ガベージビンのしきい値] オプションを使用します。

モジュールの一覧

[カウントを含むラーニング] カテゴリには、次のモジュールが含まれます。

  • カウント変換の構築: データセットからカウントテーブルとカウントベースの特徴を作成し、そのテーブルと機能を変換として保存します。
  • カウントテーブルのエクスポート: カウント変換からカウントテーブルをエクスポートします。 このモジュールは、ビルドカウントテーブル (非推奨) とカウント Featurizer (非推奨) を使用してカウントベースの特徴を作成する実験との下位互換性をサポートしています。
  • カウントテーブルのインポート: 既存のカウントテーブルをインポートします。 このモジュールは、ビルドカウントテーブル (非推奨) とカウント Featurizer (非推奨) を使用してカウントベースの特徴を作成する実験との下位互換性をサポートしています。 モジュールでは、カウントテーブルの変換をカウントする変換をサポートしています。
  • Merge Count Transform: カウントベースの2つの機能セットをマージします。
  • カウントテーブルパラメーターの変更: 既存のカウントテーブルから派生したカウントベースの機能を変更します。

こちらもご覧ください