---
title: "類別特徵（Categorical Features）"
slug: categorical-features
language: zh-TW
source: https://aiterms.tw/terms/categorical-features
updated_at: 2026-06-22
tags: [特徵工程, 機器學習, 資料處理, AI基礎]
ipas_term: false
---

# 類別特徵（Categorical Features）

機器學習中取值為有限離散類別的特徵，如性別（男/女）、顏色（紅/綠/藍）、地區等，需要特殊編碼才能用於模型訓練

## 完整說明

類別特徵是取值為預定義類別的變數，與連續型特徵相對。常見類別特徵包括用戶性別、商品類別、地理位置、顏色等。機器學習模型大多基於數值計算，無法直接處理文本或符號類別，需要將類別特徵轉換為數值形式。常見編碼方法包括標籤編碼、獨熱編碼和目標編碼，不同編碼方式適用於不同場景。

## 常見問題

### 什麼時候應該用目標編碼而不是獨熱編碼？

當類別數量很多（高基數）時，優先考慮目標編碼。例如，城市類別有 1000 個值，獨熱編碼會產生 1000 個新特徵，導致維度爆炸。目標編碼只產生 1 個特徵，計算和存儲成本低得多。其次，當目標變數與類別的關係清晰且單調時，目標編碼有效。例如，某城市的平均購買率與是否購買商品高度相關。但如果類別分布極度不均衡（某類別只有 1-2 個樣本），目標編碼估計會很不準，需要用平滑技巧或合併罕見類別。對於低基數類別（少於 10 個值），獨熱編碼通常足夠。

### 目標編碼中的過擬合風險應該如何規避？

目標編碼的過擬合來自兩個方面：樣本量不足和資料洩漏。解決樣本量不足的標準方法是「貝葉斯平滑」（Bayesian Smoothing），公式為：encoded_value = (count * mean + global_mean * smoothing_factor) / (count + smoothing_factor)。其中 count 是該類別的樣本量，mean 是該類別的目標平均值，global_mean 是全局平均值，smoothing_factor 是平滑參數。樣本多的類別被平滑影響小，樣本少的類別向全局平均靠攏，減少雜訊。關於資料洩漏，編碼時必須只用訓練集計算統計量，驗證集和測試集用訓練集得到的編碼表查詢，避免看到測試資料的目標值。交叉驗證時更需謹慎，避免用全訓練集計算編碼。

### 如何處理訓練時未見過的新類別？

生產環境中常遇到訓練時沒有的新類別（如新城市、新商品類別）。有幾種處理策略：（1）映射到「未知」或「其他」類別，訓練時提前建立這個類別。（2）用全局統計量（如全局平均點擊率）作為未知類別的編碼，特別適合目標編碼。（3）對於嵌入向量，用隨機初始化的向量表示未知類別，後續可用用戶反饋不斷更新。（4）建立備選方案，如無法編碼某特徵，用其他特徵（如地區信息）進行推斷。在推薦系統中，常用策略 1 或 2，簡單可靠。

---

來源：https://aiterms.tw/terms/categorical-features
快查頁：https://aiterms.tw/terms/categorical-features
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-categorical-features