跳轉至

建立 2026-11-12 更新 2026-11-12 HL only

A4.2 資料前處理(HL)

資料前處理(Data preprocessing)是在訓練模型之前清理、轉換與挑選資料的步驟。機器學習有句話叫「Garbage in, garbage out」:資料品質不好,再好的演算法也學不出好模型。本子題只有 HL 需要學,涵蓋資料清理、特徵選擇、正規化與降維。

HL 專屬子題

A4.2 整個子題只出現在 HL 考卷,SL 學生可略過本頁。

資料清理要處理哪些問題?

問題 例子 常見處理方式
缺失值(missing data) 年齡欄位空白 刪除該筆、用平均數/中位數/眾數填補
重複資料(duplicates) 同一位顧客被輸入兩次 找出並刪除重複列
格式不一致 TW、Taiwan、台灣 統一成同一種寫法
離群值(outliers) 身高 1750 cm(應是 175.0) 檢查是否輸入錯誤,修正或移除
錯誤資料 出生日期在未來 依規則驗證並修正

如何選擇特徵?

特徵(feature) 是模型用來預測的輸入變數,例如預測房價時的坪數、屋齡、地區。

  • 特徵選擇(feature selection):只保留與預測目標相關的特徵,去掉無關或重複的特徵(例如同時有「公分」與「英寸」兩個身高欄位)。可以減少過擬合、加快訓練。
  • 特徵工程(feature engineering):從原始資料產生更有用的特徵,例如從「生日」算出「年齡」,從「時間戳」取出「星期幾」。

為什麼要正規化資料?

不同特徵的數值範圍差很大時(例如年收入 0–5,000,000,年齡 0–100),以距離計算的演算法(k-NN、k-means)會被大數值特徵主導。特徵縮放(feature scaling) 讓各特徵在相同尺度:

  • 最小–最大正規化(min–max normalisation):把值縮到 0 到 1。

    x′ = (x − min) ÷ (max − min)

  • 標準化(standardisation,z-score):轉成平均 0、標準差 1。

    z = (x − 平均數) ÷ 標準差

ages = [18, 25, 40, 60]
lo, hi = min(ages), max(ages)
scaled = [(a - lo) / (hi - lo) for a in ages]
print(scaled)   # [0.0, 0.1666..., 0.5238..., 1.0]

類別資料怎麼轉成數字?

模型只能處理數字,類別特徵需要編碼:

  • 標籤編碼(label encoding):小 = 0、中 = 1、大 = 2。適合有順序的類別。
  • 獨熱編碼(one-hot encoding):每個類別一個 0/1 欄位,例如顏色「紅、綠、藍」變成三欄。適合沒有順序的類別,避免模型誤以為「藍 > 綠 > 紅」。

什麼是降維?

降維(dimensionality reduction) 在保留大部分資訊的前提下減少特徵數量。特徵太多時會出現「維度災難(curse of dimensionality)」:資料在高維空間變得稀疏,模型需要指數級更多資料才學得好。常見方法是 主成分分析(Principal Component Analysis, PCA),把多個相關特徵合成少數幾個新特徵。

資料不平衡怎麼辦?

若 1000 筆交易中只有 10 筆是詐騙,模型全部預測「正常」也有 99% 準確率,卻毫無用處。處理方法:對少數類別 過採樣(oversampling)、對多數類別 欠採樣(undersampling),並改用精確率、召回率等指標評估(見 A4.1)。

推薦影音

交叉驗證

簡述:StatQuest 說明為什麼要把資料分成多份輪流當測試集,以及如何用交叉驗證公平比較不同模型,和本頁的資料切分息息相關。

練習題

練習 1:資料清理

一份學生資料有以下問題:(a) 5% 的學生缺少身高;(b) 有學生年齡為 −3;(c) 性別欄有 M、Male、male。分別建議處理方式。

參考答案

(a) 用同年級同性別的身高中位數填補,或在比例低時直接刪除;(b) 明顯錯誤,查原始紀錄修正,無法修正就移除該筆;(c) 統一轉成同一種值,例如全部改為 M。

練習 2:最小–最大正規化

分數範圍是 20 到 100,將 60 分做最小–最大正規化。

參考答案

(60 − 20) ÷ (100 − 20) = 40 ÷ 80 = 0.5。

練習 3:選擇編碼方式

「城市」特徵有台北、紐約、倫敦三種值,應用標籤編碼還是獨熱編碼?為什麼?

參考答案

獨熱編碼。城市之間沒有大小順序,若用 0、1、2 編碼,模型可能誤以為倫敦(2)是台北(0)的兩倍。

練習 4:特徵選擇

預測學生 IB 總分時,下列哪些特徵應該移除:學號、每週讀書時數、校內模擬考成績、座號?

參考答案

學號與座號應移除,它們只是識別碼,與成績沒有因果關係,保留反而可能讓模型學到假規律。