Label Encoding是機器學習中用來將非數值型的類別資料(categorical data)轉換成數值型資料的一種基本技術。它的原理是將每個類別標籤映射成一個獨特的整數值,使得機器學習算法能夠處理這些資料。例如,顏色"red"、"blue"、"green"可分別映射成0、1、2。
Label Encoding的步驟包括:
- 識別非數值型的類別變數。 對每個不同類別分配一個唯一的數值標籤,通常從0或1開始編號。 用這些數值標籤替換原有類別資料。
例如Python中使用sklearn的LabelEncoder簡單示範:
python
from sklearn.preprocessing
import LabelEncoder colors = ['red', 'blue', 'green', 'red', 'green']
encoder = LabelEncoder()
encoded_colors = encoder.fit_transform(colors)
print(encoded_colors) # 輸出:[2 0 1 2 1]
Label Encoding節省記憶體,適合樹模型等不介意標籤順序的演算法,但線性回歸、神經網絡等數值敏感模型則須謹慎使用。