カテゴリ エンコーディング
多くの機械学習アルゴリズムでは、変数が数値である必要があります。カテゴリ値は、同じ列内の他の値と比較して明確に測定できる関係にないため、最初に数値表現に変換して数学的に測定する必要があります。AutoML は、カテゴリ エンコーディングを使用して、特徴量列のカテゴリ値を機械学習アルゴリズムが理解できる数値に変換します。
AutoML では、impact encoding と one-hot encoding の 2 つのエンコーディング方法を使用します。特定の特徴量に使用される方法は、データセットのサイズと一意のカテゴリ値の数に応じて異なります。
-
100 列以下のデータセットの場合:
-
一意の値が 13 個以下のカテゴリ特徴量には、one-hot encoding が使用されます。
-
一意の値が 14 個以上のカテゴリ特徴量には、impact encoding が使用されます。
-
-
100 列を超えるデータセットの場合、すべてのカテゴリ列に impact encoding が使用されます。
ML 実験を構成するときにスキーマ ビューを参照することで、カテゴリ エンコーディングを使用してデータセットのどの特徴量が処理されているかを確認できます。詳細については、「実験の構成」を参照してください。
カテゴリ エンコーディングの仕組み
カテゴリに数学的表現を与える一般的な手法として、one-hot encoding があります。one-hot encoding は、カテゴリ列を n 個の列にピボットします。ここで、n は列内の一意の値の数に等しくなります。各行の適切な列に数値の「1」が割り当てられ、カテゴリに生成された他の列に「0」が割り当てられます。カテゴリ エンコーディングを使用すると、列内の他の値に対して相対的に評価される数値とは異なり、一意の変数をそれぞれ個別に評価できます。
以下のテーブルでは、MarketingSource のカテゴリ列が one-hot encoding された例を示しています。 結果として、一意の MarketingSource ごとに 1 つずつ、合計 4 つの新しい列が作成されています。最初の行で、Person_1 の MarketingSource は「Facebook」となっています。新しい Facebook 列には「1」、その他の列には「0」が表示されています。