資料預處理 (Data Preprocessing)
資料清理(Data Cleaning)
目的為移除、修正或統一資料中的錯誤、不一致與缺漏,確保後續分析與模型訓練具可靠性與穩定性。
缺失值處理(Missing Values)
缺失值會破壞統計量、模型推論與矩陣運算,需要依資料特性選擇處理策略。
基本方法
-
刪除列或欄
適用於缺失量極少、且刪除不會影響資料代表性時。 -
統計量填補(均值、中央値、眾數)
快速、穩定,但會低估變異數。
進階方法
KNN Imputation
利用距離度量找出最相似的樣本,並以其鄰近值預測缺失資料。適合局部線性或群聚結構明顯的資料。
迴歸填補(Regression Imputation)
以其他特徵建立迴歸模型,預測缺失值。適用於特徵間具線性或強相關性的情況。
MICE(Multiple Imputation by Chained Equations)
對每個含缺失的特徵依序建立模型並反覆插補,最後彙整多次插補結果。能保留不確定性與變異,常用於統計與醫療研究。
噪音與不一致處理(Noise & Inconsistency)
資料來源不同時常見格式、單位、輸入錯誤等不一致現象。
此階段透過標準化格式、移除重複紀錄與文字錯字修正,使資料具一致性。
常見問題包含:
-
格式不同
-
單位不一致
-
意義定義不明確
-
重複紀錄
異常值處理(Outlier Handling)
異常值是偏離主要資料分布的極端觀測點,可能來自量測誤差、資料輸入錯誤,或真實但罕見的行為模式。
-
統計式方法
根據分布中心與離散程度檢查極端值。 -
分位數式方法
以四分位數與範圍概念判定分布外點。 -
密度或群聚式方法
依據資料密度或聚集結構找出不屬於主要群體的樣本。
處理方式
當資料點被認定為確定錯誤時可直接移除;若資料極端但並非錯誤,則可透過限制或替換使其落在合理範圍;在需要降低極端值影響時,可使用數學變換調整資料分布;若異常值無法事先明確處理,則可在模型層面選擇對極端樣本較不敏感的演算法或損失函數,使整體訓練過程更穩健。
異常值得處理方法於「特徵變換」中介紹
特徵變換(Feature Transformation)
特徵變換旨在調整資料的分布或形式,使其更適合模型處理。常見目標包括:降低尺度差異、穩定變異數、減少偏度、或讓模型能以合適方式理解變數結構。
特徵縮放 (Feature Scaling)
特徵可能具有不同量級,縮放可讓模型更易於收斂並避免某些特徵主導學習。
MinMax 適用於界限明確的資料;Z-score 適用於常態分布資料。
Min-Max Normalization
用於將資料線性縮放至固定區間,以減少不同特徵間的尺度差異。
假設資料矩陣 X,一般為 列為樣本(row)、欄為特徵(column),因此縮放時會針對每一個特徵欄(column)計算其最小值與最大值,再進行映射,常見區間為 [0,1]
Z-Score Scaling
Z-score 標準化利用平均值與標準差衡量資料距離中心的位置,將資料轉換為均值為 0、標準差為 1 的分布。
若原始資料本身近似常態分布,多數 z-score 值通常落在約 區間內。
Mathematical Transform(數學變換)
目的是調整資料分布,使其更符合模型假設、降低偏度(skewness)、或穩定變異數。
Log Transform
讓 極端大的數值縮小、讓 高度偏態的分布變平滑,適用於正偏(右長尾)分布,例如收入、流量、倍數成長資料,可壓縮極端值並改善偏度。
將原始值取 log 後,大值變小、小值變得相對不變 → 拉近差距
Power Transform(Box-Cox / Yeo-Johnson)
使分布更接近常態,並減少尾端影響。
Box-Cox 僅適用正值資料;Yeo-Johnson 可處理含負值的資料。
Discretization(分箱)
分箱是將連續變數轉換成多個區間所形成的類別,使模型以「區段」的方式理解數值變化,而非直接處理連續值。此方式能提升某些模型的可解釋性,或在離散特徵更易處理的模型中提升效能。
等距分箱(Equal-width)
以固定寬度切割區間,將資料均勻分段。適用於大致均勻的分布。
等量分箱(Equal-frequency)
每個區間包含相同數量的資料,使各區段代表性更平衡。
分位數分箱(Quantile Binning)
依照分位數邊界劃分區間,能反映資料實際分布並避免稀疏區段。
Encoding(類別編碼)
將類別資料轉為模型可處理的數值形式,不同編碼適用於不同模型特性與資料分布。
One-Hot Encoding
為每一類建立獨立維度,適用於類別數量不大的情況。
Label Encoding
將類別轉換為整數標籤,適用於樹模型等不受數值大小影響的模型。
Target Encoding
以目標變數的統計量替代原始類別,適用於類別數量多與高基數資料。
Sampling(取樣)
Sampling 是從大型資料集中抽取部分資料點的技術,用於控制資料量、維持分布代表性或降低計算成本。其特性是只改變「資料量」,不改變特徵或表徵方式。
Random Sampling(隨機取樣)
隨機抽取樣本,用於快速縮減資料集或建立基礎子集。
Stratified Sampling(分層取樣)
依照某欄位(通常是分類標籤)維持原始比例抽樣,用於避免分布偏移。
Systematic Sampling(系統取樣)
以固定間距取樣,例如每 n 筆取 1 筆。
Subsampling(子抽樣)
從完整資料中抽取較小子集,用於降低計算負擔或進行快速實驗。
Time-series Sampling(時序取樣)
依時間順序抽樣,例如滑動視窗、定間隔序列取樣,保持時序結構。
Data Balancing(資料平衡)
Data Balancing 指的是在處理分類資料中的「不平衡分布」問題,常使用取樣技術調整類別比例,使模型能更穩定地學習。
過採樣 Oversampling
增加少數類樣本,使各類別數量更為接近。
Random Oversampling
直接複製少數類樣本,使其數量提升。
適合基礎需求,但容易造成過擬合,因為模型會頻繁看到完全相同的樣本。
SMOTE
使用少數類樣本之間的向量差異產生新樣本。
透過線性插值方式建立新點,使資料分布較平滑,不會只是複製原樣本。
Borderline-SMOTE
只在少數類邊界附近產生新樣本。
強調模型容易誤判的區域,使決策邊界更穩定。
ADASYN
自動決定在哪些區域生成較多新樣本。
在模型較不容易學習的區域(如邊界附近)產生更多樣本,提高自適應能力。
KMeans-SMOTE
先利用 KMeans 聚類,再針對少數類較稀疏的群集產生新樣本。
能避免過度集中於特定區域,並改善 SMOTE 在高維下的失真問題。
欠採樣 Undersampling
減少多數類樣本,使類別比例變得更均衡。
Random Undersampling
隨機刪除多數類樣本。
簡單有效,但可能移除對決策邊界有價值的資訊。
Tomek Links
移除構成 Tomek Link 的多數類樣本。
能去除靠近邊界的多數類雜訊,使資料更乾淨。
Edited Nearest Neighbors(ENN)
移除與鄰近樣本標籤不一致的資料點。
主要用於清除雜訊與模糊邊界,使資料的局部結構更明確。
NearMiss
利用距離準則選擇代表性的多數類樣本刪除。
使保留下來的多數類樣本更接近少數類,有助於模型建立更清晰的決策邊界。
資料分割(Data Splitting)
模型訓練的前置準備,通常將資料集分成三個部分,分別為訓練、驗證或測試模型的數據集合。

-
訓練資料集 (Training dataset)
用於學習資料中的規律,調整模型參數。 -
驗證資料集 (Validation dataset)
用於調整模型的超參數 (hyperparameters),協助挑選最佳模型,並檢測模型是否具備良好的泛化能力 (generalization),以避免過擬合。 -
測試資料集 (Test dataset)
用於最終評估模型的泛化能力。測試資料在訓練過程中不可被使用,否則會失去檢驗的公正性。
測試資料集也相當於模擬模型在真實未知資料上的表現,確保研究成果能夠可靠推廣,而非僅限於訓練資料。
資料擴增 (Data Augmentation)
人工收集大量數據成本高,數據增強是一種成本低且有效的替代方案,簡單來說就是依照現有資料的特徵去調整與改變資料,得到新的資料。
以影像辨識為例,可以透過編輯圖片來獲得新圖片,例如縮放、移動、翻轉、遮罩等方法來獲得新的圖片。
-
在數據不足時,透過對原始數據做轉換,產生新數據以提升泛化能力。
-
影像範例:縮放、旋轉、翻轉、裁切、遮罩。
-
文本範例:同義詞替換、隨機刪字、語序打亂。
-
語音範例:加噪音、調整速度、變更音高。


