首頁 / 名詞卡 / 資料工程與MLOps / 類別變數編碼(Label/One-hot/Target Encoding)

iPAS AI中級🗄️ 資料工程與MLOps
🔑 名詞卡

類別變數編碼(Label/One-hot/Target Encoding)

🎯 定義

將非數值型的類別變數(Categorical Variables)轉換為模型可辨識與運算的數值特徵的三種常見方法,選擇依據為類別是否具順序、類別數量(基數)與資料量。

三種方法比較

方法做法適用情境優點風險/限制
Label Encoding每個類別對應一個整數(小學→0、高中→1)具明確順序關係的類別(Ordinal)轉換快速、佔用空間小誤用於無序類別會讓模型誤解為有數值大小意義
One-hot Encoding每個類別新增一個 0/1 欄位無序類別變數(Nominal)保留完整資訊,不引入順序誤解高基數類別會大幅增加特徵維度
Target Encoding以類別在目標變數上的統計量(平均值/轉換率)取代高基數類別變數,且與目標變數高度關聯保留目標相關資訊,不造成維度爆炸易造成資料洩漏,須搭配交叉驗證

記憶技巧

「有序用 Label、無序用 One-hot、類別太多且跟目標有關就用 Target」。

易混淆

  • Label Encoding 誤用於無序類別(如城市名稱):模型可能誤以為「台北=0 < 台中=1 < 高雄=2」存在大小關係,這是最常見的誤用陷阱。
📖 課文原文

「Label Encoding(標籤編碼):適用情境:類別具有明確順序關係(Ordinal Variables)……風險:若誤用於無序類別(Nominal Variables),模型可能誤解為數值之間具有數學意義。」