輸入類別,即時看兩種編碼方式的差異
機器學習模型只看得懂「數字」,所以要把文字類別轉成數字:
有順序的類別:低/中/高、小/中/大、學歷等級。樹模型(決策樹、XGBoost)對 Label 不敏感。
無順序的類別:顏色、城市、品牌。類別數 < 10 時首選。線性模型、神經網路必用。
類別太多 → Target Encoding(用目標均值代替)或 Embedding(深度學習學向量)。
| 方法 | 做法 | 適合/風險 |
|---|---|---|
| One-Hot | 每類別一個 0/1 欄 | 名目類別;類別多維度爆炸 |
| Label | 類別轉整數 | 序位或樹模型;會植入假順序 |
| 目標編碼 | 用目標均值 | 高基數;易洩漏需交叉擬合 |
| 頻率/雜湊 | 用頻率或 hash | 高基數壓縮 |
類別特徵須編碼成數值,iPAS 特徵工程考點(初級科目一、中級科目三)。重點:無序類別用 One-Hot(不引入假大小關係)、有序用序數編碼、高基數用目標編碼或嵌入。易混點:別用 Label 編碼(0、1、2)處理無序類別——會引入不存在的順序、害了線性模型;目標編碼要小心資料洩漏、需在折內計算。情境:把資費方案、地區等類別轉成模型可用的數值。
想練情境題與詳解 → AI 學習與考證地圖
多數模型只吃數值,要把紅、綠、藍這類文字類別轉成數字才能運算;如用 One-Hot 把地區變成多個 0/1 欄位。
每個類別變成一個 0 與 1 的欄位;適合無序類別、不引入假的大小關係,但類別太多會造成高維稀疏。
直接把類別編成 0、1、2 會引入不存在的順序與大小,對線性模型有害;較適合本身有序的類別或樹模型。
類別很多時用目標編碼(target encoding)、頻率編碼或嵌入(embedding);目標編碼要小心資料洩漏,需在折內計算。
無序少類別用 One-Hot、有序用序數編碼、高基數用目標或嵌入、樹模型對編碼較不敏感;依模型與類別性質決定。