🔢 One-Hot vs Label Encoding 互動動畫

輸入類別,即時看兩種編碼方式的差異

💡 白話說明

機器學習模型只看得懂「數字」,所以要把文字類別轉成數字:

📌 考試重點:無序類別(顏色、城市)→ One-Hot;有序類別(低/中/高)→ Label Encoding。類別太多(>幾十個)→ Target Encoding 或 Embedding。
或選擇預設範例:
🎨 顏色(無序)
📊 等級(有序)
🏙️ 城市(無序)
🐾 動物(多類別)
🎓 學歷(有序)

🏷️ Label Encoding

🔥 One-Hot Encoding

⚖️ 什麼時候用哪個?

Label Encoding ✅

有順序的類別:低/中/高、小/中/大、學歷等級。樹模型(決策樹、XGBoost)對 Label 不敏感。

One-Hot Encoding ✅

無順序的類別:顏色、城市、品牌。類別數 < 10 時首選。線性模型、神經網路必用。

其他方法

類別太多 → Target Encoding(用目標均值代替)或 Embedding(深度學習學向量)。

📊 類別編碼方法
方法做法適合/風險
One-Hot每類別一個 0/1 欄名目類別;類別多維度爆炸
Label類別轉整數序位或樹模型;會植入假順序
目標編碼用目標均值高基數;易洩漏需交叉擬合
頻率/雜湊用頻率或 hash高基數壓縮
✅ 自我檢測
One-Hot 和 Label 差在哪?
One-Hot 每類別一欄(無序但維度大);Label 轉整數(省空間但引入假順序,只適序位或樹模型)。
Label 編碼的風險?
會讓模型誤以為類別有大小順序(紅=1、藍=2、綠=3),線性/距離模型會被誤導。
高基數類別怎麼辦?
One-Hot 會爆維;改用目標編碼、頻率編碼、雜湊或嵌入壓縮。
🎯 重點整理
  1. 名目類別多用 One-Hot(無序)。
  2. Label 只適序位或樹模型。
  3. 高基數用目標/頻率/雜湊/嵌入。
  4. 目標編碼易洩漏,要交叉擬合。
  5. 編碼器只 fit 訓練資料。

📝 iPAS 考點提醒

類別特徵須編碼成數值,iPAS 特徵工程考點(初級科目一、中級科目三)。重點:無序類別用 One-Hot(不引入假大小關係)、有序用序數編碼、高基數用目標編碼或嵌入。易混點:別用 Label 編碼(0、1、2)處理無序類別——會引入不存在的順序、害了線性模型;目標編碼要小心資料洩漏、需在折內計算。情境:把資費方案、地區等類別轉成模型可用的數值。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

為什麼類別特徵要編碼?

多數模型只吃數值,要把紅、綠、藍這類文字類別轉成數字才能運算;如用 One-Hot 把地區變成多個 0/1 欄位。

One-Hot 編碼是什麼?

每個類別變成一個 0 與 1 的欄位;適合無序類別、不引入假的大小關係,但類別太多會造成高維稀疏。

Label 編碼的風險?

直接把類別編成 0、1、2 會引入不存在的順序與大小,對線性模型有害;較適合本身有序的類別或樹模型。

高基數類別怎麼辦?

類別很多時用目標編碼(target encoding)、頻率編碼或嵌入(embedding);目標編碼要小心資料洩漏,需在折內計算。

怎麼選編碼方式?

無序少類別用 One-Hot、有序用序數編碼、高基數用目標或嵌入、樹模型對編碼較不敏感;依模型與類別性質決定。

🧭 相關主題

← 返回 AI 學習與考證地圖