CH5.1 數據準備與特徵工程
數據準備與特徵工程
資料清理(缺失值/異常值/重複值/型別轉換)→ 特徵選擇(Filter/Wrapper/Embedded)與降維 → 特徵工程的尺度調整與分佈轉換(標準化/正規化)→ 類別資料編碼(One-hot Encoding/Label Encoding/Target Encoding)→ 時間特徵轉換 → 資料增強(依資料型態)。核心觀念:資料品質與特徵表達往往比演算法本身更決定模型最終表現。
1. 資料清理
(1) 缺失值處理
| 方法 | 說明 |
|---|---|
| 刪除法(Deletion) | 缺失比例極低、樣本數充足且缺失分佈無偏時可直接刪除 |
| 均值/中位數/眾數填補 | 簡單但可能降低變異性或產生偏差 |
| 相似樣本填補 | Hot Deck、KNN 填補,依特徵相似度補全 |
| 預測模型填補 | 用迴歸/分類模型預測缺值,適用特徵間高度相關時 |
| 缺失指標編碼 | 新增欄位標示是否缺失,常見於樹模型 |
(2) 異常值偵測與處理
| 方法類型 | 具體技術 |
|---|---|
| 統計方法 | Z 分數(Z-score)、四分位距(IQR) |
| 視覺化分析 | 箱型圖、散佈圖、時間序列圖 |
| 機器學習方法 | Isolation Forest、Local Outlier Factor(LOF) |
| 處理策略 | 移除/截尾與轉換(對數、Box-Cox)/標記保留(如欺詐偵測需保留異常值作為特徵) |
樹模型(如 XGBoost、Random Forest)對缺值與異常值容忍度較高;線性模型與神經網路則對輸入資料較敏感,需特別注意缺值補全與正規化,否則容易造成訓練不穩或結果偏誤。這是模型選擇時常忽略的資料前處理差異。
(3) 其他清理項目
重複樣本偵測(透過主鍵比對或欄位相似度)、單位與格式標準化(統一公克/公斤、時間格式、類別值)、資料型別轉換、時間資料解析(拆解為時間戳、週期性變數)。
資料清理策略應建立完整的資料處理紀錄與流程可追溯性(Data Lineage),包括欄位處理邏輯、填補方法、異常值調整依據,以確保流程可還原、驗證與持續維護,同時符合資料治理與法規合規要求。
2. 特徵選擇
特徵選擇(Feature Selection)是從現有原始特徵中篩選出最佳子集的過程(不創造新特徵),以降低維度並保留關鍵資訊。
| 方法 | 原理 | 優點 | 限制 |
|---|---|---|---|
| Filter 方法(過濾法) | 用統計量或相關係數獨立於模型篩選(皮爾森相關係數、卡方檢定、ANOVA) | 速度快、不依賴特定模型 | 無法考慮特徵間交互作用 |
| Wrapper 方法(包裝法) | 用模型表現作標準,透過遞迴特徵消除(RFE)或前向/後向選擇 | 精確考量特徵互動效果 | 計算成本高,可能過度擬合 |
| Embedded 方法(嵌入法) | 訓練過程中內建特徵選擇(決策樹重要性、Lasso/Ridge 正則化) | 建模過程同時完成特徵選擇 | 需特定模型支援,受超參數影響 |
3. 降維方法
4. 特徵轉換與標準化
(1) 資料尺度調整
| 方法 | 說明 | 優點 | 限制 |
|---|---|---|---|
| Min-Max Normalization | 線性縮放至 [0,1] | 保留原始分佈比例,易解釋 | 對極端值敏感 |
| Z-score Standardization | 轉換為平均值 0、標準差 1 | 適用常態分佈資料 | 對極端值仍敏感,偏態資料結果偏移 |
| Robust Scaling | 用中位數與 IQR 縮放 | 對極端值高度抵抗,適合偏態/含離群值資料 | 轉換後不保證符合任何標準分佈 |
(2) 分佈轉換
對數轉換(Log Transform,處理右偏分佈,如收入/銷售額)、平方根/立方根轉換(中度偏態)、Box-Cox / Yeo-Johnson 轉換(自動尋找最適指數轉換參數)。
(3) 類別資料編碼
| 方法 | 原理 | 適用情境 | 優缺點 |
|---|---|---|---|
| Label Encoding | 類別對應整數編號 | 有序類別(教育程度、服務等級) | 快速省空間;若誤用於無序類別,模型可能誤解數值間有數學意義 |
| One-hot Encoding | 每類別新增一個 0/1 欄位 | 無序類別(城市、產品類型) | 保留完整資訊不引入順序誤解;高基數類別會造成維度爆炸 |
| Target Encoding | 用類別在目標變數上的統計量(平均值/轉換率)取代類別 | 高基數且與目標高度關聯的類別變數 | 保留目標相關資訊,不造成維度爆炸;有資料洩漏風險需注意 |
若將無序類別(Nominal Variables)誤用 Label Encoding,模型可能誤解類別編號之間具有大小或順序關係(例如把「紅/藍/綠」編碼為 0/1/2,模型可能誤認為藍比紅「大」)。無序類別應優先使用 One-hot Encoding,除非類別數量過多(高基數)才考慮 Target Encoding 等替代方案。
(4) 時間與週期性資料轉換
拆解時間欄位為結構化特徵(年/月/日/星期幾/時段),並用三角函數(sin/cos 轉換)建構週期性特徵表示,以保留「一週七天」等週期性結構的相鄰關係。
5. 資料增強
| 資料型態 | 常見方法 | 案例 |
|---|---|---|
| 圖像 | 隨機翻轉、旋轉、裁剪、縮放、色彩變換 | 人臉辨識、醫學影像分析 |
| 文字 | 同義字替換、隨機插入/刪除/交換字詞位置 | 情感分析、對話模型 |
| 時序 | 增加噪聲、局部時段調整、窗口裁切 | 設備故障預測、股市趨勢分析 |
| 表格式 | SMOTE(合成少數類別樣本) | 不平衡資料分類(詐欺偵測、疾病診斷) |
6. 特徵工程的思考脈絡
特徵工程並非套用預設演算法或工具,而是有目的、有規劃的決策過程:依任務類型設計特徵(分類偏好離散分群特徵,迴歸偏好連續趨勢特徵)→ 依模型性質調整處理(線性模型注意尺度與共線性;樹模型對標籤編碼敏感;距離式模型需特徵尺度一致)→ 探索隱含結構(合成特徵如「單價×數量」、統計聚合特徵)→ 考慮時間性與序列關聯(滯後值 lag、移動平均 rolling mean)。
📝 章節考題自測(先作答,再點開解答)
Q1. 針對缺失值的處理,下列哪種方法屬於利用模型進行補值的方式?
(A) 刪除法 (B) 均值填補 (C) 預測模型填補 (D) 缺失指標編碼
解答與解析
參考 Ans: (C) 預測模型填補是利用其他特徵變數訓練模型(迴歸或分類器)來預測缺失值,特別適用於特徵間關聯性高的情況,相較均值填補能更好捕捉資料內在關聯性。
Q2. 在進行異常值偵測時,哪種方法是利用統計特徵分佈來判斷離群點?
(A) KNN 補值 (B) 四分位距法(IQR) (C) Isolation Forest (D) One-hot Encoding
解答與解析
參考 Ans: (B) 四分位距法(IQR)透過計算第一與第三四分位數,判定超過 1.5 倍 IQR 的資料點為異常,是常見的統計式異常值偵測方法;Isolation Forest 則屬於機器學習方法。
Q3. 下列哪一種特徵選擇方法會直接在模型訓練過程中進行特徵挑選?
(A) Filter 方法 (B) Wrapper 方法 (C) Embedded 方法 (D) One-hot Encoding
解答與解析
參考 Ans: (C) Embedded 方法在模型訓練過程中同步進行特徵挑選,例如決策樹的特徵重要性分析,或 Lasso/Ridge 透過正則化直接控制特徵權重。
Q4. 在進行特徵轉換時,若資料存在極端偏高的右偏分佈,常用哪種轉換以降低偏態?
(A) 平方根轉換 (B) 對數轉換(Log Transform) (C) Label Encoding (D) 缺失指標編碼
解答與解析
參考 Ans: (B) 對數轉換可有效降低右偏分佈的極端值影響,使資料分佈更接近常態,常用於收入、銷售額等具極端高值的變數;平方根轉換較適用於中度偏態資料。
Q5. One-hot Encoding 在什麼情況下可能造成模型的運算負擔加重?
(A) 缺失值多的資料 (B) 資料集中某類別種類 10 種 (C) 類別變數具有高基數(High Cardinality) (D) 資料集中無重複樣本
解答與解析
參考 Ans: (C) One-hot Encoding 會為每個不同類別產生獨立欄位,若類別數過多(高基數),會導致特徵維度爆炸,增加記憶體使用與模型訓練的負擔。
Q6. 若對無序類別變數(如城市名稱)誤用 Label Encoding,最可能產生的問題是?
(A) 完全沒有影響 (B) 模型可能誤解類別編號間具有數學上的大小或順序關係 (C) 會自動轉換成 One-hot 格式 (D) 訓練速度會變慢
解答與解析
參考 Ans: (B) Label Encoding 適用於有序類別,若誤用於無序類別,模型可能誤解數值之間具有數學意義(如認為編號 2 比編號 0 更「大」),造成模型學習錯誤的關係。
Q7. Z-score 標準化與 Min-Max 正規化相比,下列敘述何者正確?
(A) Z-score 會將數值限制在 [0,1] 區間,Min-Max 不會 (B) Z-score 將資料轉換為平均值 0、標準差 1,適用於接近常態分佈的資料 (C) 兩者對極端值皆完全不敏感 (D) Min-Max 一定優於 Z-score
解答與解析
參考 Ans: (B) Z-score Standardization 將數值轉換為平均值為 0、標準差為 1 的分佈,較適用於接近常態分佈的資料;Min-Max Normalization 則是線性縮放至 [0,1] 區間,保留原始分佈比例但對極端值敏感,兩者皆非對極端值完全免疫。
Q8. 對於資料量不足的少數類別,若想透過合成新樣本方式平衡資料分佈,最適合採用下列哪一種技術?
(A) One-hot Encoding (B) SMOTE (C) Label Encoding (D) PCA
解答與解析
參考 Ans: (B) SMOTE(Synthetic Minority Oversampling Technique)透過合成新樣本平衡資料分佈,適用於資料量不足的少數類別(如詐欺偵測、疾病診斷等不平衡資料分類問題)。