Target Encoding(目標編碼)是一種用於機器學習中處理類別變數的編碼技術,特別適合高基數(高種數量)類別特徵。它通過將類別值替換成該類別在目標變量上的統計值(通常是目標的均值),使模型能夠有效利用類別與目標之間的關聯信息。
Target Encoding原理
- 對於分類或回歸問題,計算每個類別對應目標變量的平均值(或條件概率);
- 用這些平均值替換原始類別特徵值;
- 這樣類別特徵轉化為數值特徵,同時保留了與目標變量的關聯信息。
- 不像One-Hot Encoding會擴增特徵維度,Target Encoding不會增加維度,適合高基數類別。
- 捕捉類別與目標的關聯,提升模型預測能力。
- 適用於迴歸和分類任務。
風險與注意事項
- 過擬合風險:因為編碼使用了目標變量信息,可能會引入數據洩漏,特別是少樣本類別上。
- 平滑技巧:引入全局均值與類別均值加權融合,減少稀有類別影響。
- 交叉驗證策略:避免在訓練和測試數據同時使用目標信息,防止目標洩漏。
總結:Target Encoding將類別特徵替換為目標統計值,有助於提高模型對高基數類別的處理效率,但需注意避免過擬合與數據洩漏問題,透過平滑和交叉驗證可緩解風險。