- 資料準備與特徵工程 (Feature Engineering)
- 資料品質 (Data Quality)
- 資料分佈與平衡
- 資料擴增 (Data Augmentation)
- 資料分割 (Data Splitting)
- 特徵工程 (Feature Engineering)
- 特徵縮放 (Feature Scaling)
- Min-Max Normalization
- Z-Score Scaling
- 連續資料的平均值($\mu$)
- 標準差($\sigma$)
- 特徵選擇 (Feature Selection)
- 特徵提取 (Feature Extraction)
- 特徵構建 (Feature Construction / Generation)
- 類別變數處理 (Categorical Features)
資料準備與特徵工程 (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之間。
-
:矩陣中的單個特徵
-
:同一列中特徵的最小值
-
:同一列中特徵的最大值
-
:正規化後的數據
Z-Score Scaling
是一個統計學方法,衡量資料離平均值有多少差距方式,如果原始資料接近常態分佈(standard deviations),大部分 z-score 值會落在 區間內,均值為 0、標準差為 1。 其中:
-
:原始資料點
-
:平均值
-
:標準差
一般來說, 區間以外可以視為極端值
連續資料的平均值()
標準差()
標準差是用來衡量一組數據「離平均值有多分散」的一個數值,愈大表示越分散。
-
:第 個數據點
-
:平均值(mean)
-
:資料點個數
-
:標準差
特徵選擇 (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):
將變量升維,例如 生成 。 -
時間序列特徵:
計算移動平均 (Moving Average)、時間延遲 (Lag) 等。
類別變數處理 (Categorical Features)
-
One-Hot Encoding:
將類別變數轉換為二進位特徵。 如 [0 1 0 0 0 1] -
Label Encoding:
將類別變數轉換為數值標籤。 -
Target Encoding:
使用目標變數的統計值進行編碼。