---
title: "獨熱編碼（One-hot Encoding）"
slug: one-hot-encoding
language: zh-TW
source: https://aiterms.tw/terms/one-hot-encoding
updated_at: 2026-04-29
tags: [資料處理, 特徵工程]
ipas_term: false
---

# 獨熱編碼（One-hot Encoding）

> **你有沒有把顏色、地區這種類別資料丟進模型後，才發現數字大小被誤會？**
>
> 你可以把 獨熱編碼 想成 把類別變成模型看得懂的表示。
>
> 避免模型把類別大小誤當成順序，沒有順序的類別，就給它們各自一個開關 這件事就特別重要。
>
> 你可以把它想成一個把抽象概念拉回日常判斷的提示，先知道它解決什麼問題，再看技術細節。

### 容易混淆
> **獨熱編碼 vs 標籤編碼**
>
> 標籤編碼像給類別編號（紅=0, 綠=1, 藍=2），獨熱編碼像給每個類別一個獨立的二元開關，獨熱編碼避免了模型誤認為數字大小有意義的問題，更適合沒有順序關係的類別。
>
> 最關鍵的區別：一個展開成多欄，一個只用單欄編號。
>
>
> **獨熱編碼 vs 標籤編碼**
>
> 獨熱編碼把每個類別拆成獨立開關，標籤編碼只是給一個編號
>
> 最關鍵的區別：有沒有把類別順序偷偷塞進去。

### 記住這句就好
> 沒有順序的類別，就給它們各自一個開關

### 實際案例
> **案例 1：把水果類別展開成蘋果、香蕉、橘子三個欄位**
>
> 這種情況下，獨熱編碼 會幫你把原本手工或靠直覺的步驟變得更穩。
>
>
> **案例 2：把城市名稱轉成獨立欄位，讓模型不把台北當成比台中更大**
>
> 另一個常見場景也能看出 獨熱編碼 的價值，因為它處理的是同一種核心問題。

### 算法與應用
> 核心意思就是：沒有順序的類別，就給它們各自一個開關。
>
> 類別少時很直觀，類別很多時向量會變得又寬又稀疏
>
> 遇到高基數類別時，常會改看 embedding 或其他編碼方式

### 情境判斷
> **Q1（直覺題）：** 把水果類別展開成蘋果、香蕉、橘子三個欄位 這種情況，會先想到 獨熱編碼 嗎？
>
> → 會，因為它正好在處理這件事的核心問題，只是還要看資料乾不乾淨、流程穩不穩。
>
>
> **Q2（判斷題）：** 類別數很多時，還適合直接用嗎？
>
> → 看情況，類別一多維度會爆，常改用 embedding 或其他壓縮表示

### 常見問題
> **Q：獨熱編碼後的向量長度是多少？**
> 獨熱編碼後的向量長度等於類別型特徵中不同類別的總數。
> 例如，如果一個特徵有 5 個不同的類別，那麼經過獨熱編碼後，每個類別都會被轉換成一個長度為 5 的向量。
>
> **Q：獨熱編碼會增加模型的複雜度嗎？**
> 是的，獨熱編碼會增加模型的複雜度，特別是在類別數量非常多的情況下。
> 維度增加會導致計算量增加，並可能導致過擬合。
> 因此，在使用獨熱編碼時，需要權衡其優缺點。
>
> **Q：除了獨熱編碼，還有哪些處理類別型資料的方法？**
> 除了獨熱編碼，還有標籤編碼、順序編碼、詞嵌入和目標編碼等方法。
> 選擇哪種方法取決於具體的應用場景和資料特性。
> 例如，詞嵌入通常用於自然語言處理，而目標編碼通常用於推薦系統。

### 相關術語
> - **標籤編碼**：看完這個再讀它，會更容易把概念串起來
> - **嵌入表示**：看完這個再讀它，會更容易把概念串起來
> - **特徵工程**：看完這個再讀它，會更容易把概念串起來
> - **Softmax 函數**：看完這個再讀它，會更容易把概念串起來
> - **分詞**：看完這個再讀它，會更容易把概念串起來

---

來源：https://aiterms.tw/terms/one-hot-encoding
快查頁：https://aiterms.tw/terms/one-hot-encoding
最後更新：2026/04/29
深度解說：https://aiterms.tw/learning/what-is-one-hot-encoding