Target Encoding

Target Encodingとは?

Target Encodingは、カテゴリ変数をエンコーディングする手法の一つです。カテゴリ変数を数値データに変換することで、機械学習モデルに適用しやすくします。具体的には、カテゴリ変数をそのターゲット変数の平均値やその他の統計量で置き換えます。

たとえば以下のようなカテゴリ変数とターゲット変数があるとします。

import pandas as pd

data = {
    'City': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Los Angeles', 'Chicago'],
    'Target': [1, 0, 1, 0, 1, 0]
}

df = pd.DataFrame(data)

df

各カテゴリのターゲット変数の平均を計算しTarget Encodingを行います。

mean_target = df.groupby('City')['Target'].mean()
df['City_encoded'] = df['City'].map(mean_target)

df

下記のようになりました。