r036_logo
資料科學
2025-06-11

資料準備與特徵工程 (Feature Engineering)

資料的品質可以說是人工智慧中最重要的部分,資料影響著模型的訓練品質,與最終的預測結果的準確性

因此如何處理好資料,該注意哪些資料的問題,是本篇的紀錄重點

資料品質 (Data Quality)

  • Accuracy:確保資料正確,避免錯誤標註或測量誤差。

  • Completeness:避免缺漏關鍵欄位或值。

  • Consistency:確保格式、單位一致,不同來源數據能對齊。

  • Noise & Outliers:偵測並處理異常值,避免影響模型。


資料分佈與平衡

  • Data Distribution:確認數據分布能代表真實問題,避免偏差。

  • Class Imbalance:避免類別不均造成模型偏向多數類。

  • Data Balancing 方法

    • 欠抽樣 (Under-sampling)

    • 過抽樣 (Over-sampling, e.g. SMOTE)

    • 權重調整


資料擴增 (Data Augmentation)

人工收集大量數據成本高,數據增強是一種成本低且有效的替代方案,簡單來說就是依照現有資料的特徵去調整與改變資料,得到新的資料。

以影像辨識為例,可以透過編輯圖片來獲得新圖片,例如縮放、移動、翻轉、遮罩等方法來獲得新的圖片。

  • 在數據不足時,透過對原始數據做轉換,產生新數據以提升泛化能力。

  • 影像範例:縮放、旋轉、翻轉、裁切、遮罩。

  • 文本範例:同義詞替換、隨機刪字、語序打亂。

  • 語音範例:加噪音、調整速度、變更音高。


資料分割 (Data Splitting)

  • Training / Validation / Test Sets

    • 訓練集:用於模型學習。

    • 驗證集:調整超參數,避免過擬合。

    • 測試集:最終檢驗模型泛化能力。

特徵工程 (Feature Engineering)

特徵工程是將原始數據轉換為更具代表性、更具信息量的特徵,以提高模型的學習效果和預測能力。它是機器學習流程中至關重要的一步,直接影響模型的性能。

簡單來說主要目的針對不同的狀況,對特徵數據進行預前處理,以下是目前一些常見處理方法

特徵縮放 (Feature Scaling)

Min-Max Normalization

MinMax Normalization 是一種常用的資料標準化方法,
目的是將資料的數值映射到一個固定區間

將數據壓縮到 [0, 1] ,減少不同特徵之間的尺度差異,讓模型更容易學習。

假設有一個矩陣X,我們可以知道矩陣的列一般代表著每一筆資料的特徵,行則是每一個列的不同特徵,因此我們對同一欄(列)進行特徵壓縮,讓數據介於0~1之間。

X=XXminXmaxXminX' = \frac{X - X_{min}}{X_{max} - X_{min}}
  • XX:矩陣中的單個特徵

  • XminX_{min}:同一列中特徵的最小值

  • XmaxX_{max}:同一列中特徵的最大值

  • XX':正規化後的數據

Z-Score Scaling

是一個統計學方法,衡量資料離平均值有多少差距方式,如果原始資料接近常態分佈(standard deviations),大部分 z-score 值會落在 [4,+4][-4, +4] 區間內,均值為 0、標準差為 1。 z=xμσz = \frac{x - \mu}{\sigma} 其中:

  • xx:原始資料點

  • μ\mu:平均值

  • σ\sigma:標準差

一般來說,[2,+2][-2, +2] 區間以外可以視為極端值

連續資料的平均值(μ\mu

μ=1ni=1nxi\mu = \frac{1}{n} \sum_{i=1}^{n} x_i

標準差(σ\sigma

標準差是用來衡量一組數據「離平均值有多分散」的一個數值,愈大表示越分散。

σ=1n1i=1n(xiμ)2\sigma = \sqrt{\frac{1}{n-1} \sum_{i=1}^{n} (x_i - \mu)^2}
  • xix_i:第 ii 個數據點

  • μ\mu:平均值(mean)

  • NN:資料點個數

  • σ\sigma:標準差

特徵選擇 (Feature Selection)

  • Filter Methods:
    例如皮爾森相關係數 (Pearson Correlation)、卡方檢驗 (Chi-Square Test)。

  • Wrapper Methods:
    例如遞歸特徵消除 (Recursive Feature Elimination, RFE)。

  • Embedded Methods:
    例如 Lasso (L1 正則化) 或 Decision Tree 的重要性評估。

特徵提取 (Feature Extraction)

  • 主成分分析 (Principal Component Analysis, PCA)

  • 線性判別分析 (Linear Discriminant Analysis, LDA)

  • 獨立成分分析 (Independent Component Analysis, ICA)

特徵構建 (Feature Construction / Generation)

  • 特徵交互 (Feature Interaction):
    例如將兩個變量相乘或相除產生新特徵。

  • 多項式特徵 (Polynomial Features):
    將變量升維,例如 x1,x2x_1, x_2 生成 x12,x22,x1x2x_1^2, x_2^2, x_1 x_2

  • 時間序列特徵:
    計算移動平均 (Moving Average)、時間延遲 (Lag) 等。

類別變數處理 (Categorical Features)

  • One-Hot Encoding:
    將類別變數轉換為二進位特徵。 如 [0 1 0 0 0 1]

  • Label Encoding:
    將類別變數轉換為數值標籤。

  • Target Encoding:
    使用目標變數的統計值進行編碼。