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
下記のようになりました。
