ANGELA JIAN
LOADING
回到課程總覽
第 5 篇 L11201 資料處理與分析

AI 資料處理八大流程:從收集到上線的完整 SOP

Angela Jian
Angela Jian 簡琬庭
iPAS AI 應用規劃師 / AI Product Builder

一、學習目標

讀完這篇,你會知道:

  1. AI 資料從「收集」到「可以訓練」要經過哪八個步驟?
  2. 資料清理時缺失值、異常值、重複值各怎麼處理?
  3. 資料標注有哪些方式?Label Studio 和 Snorkel 是什麼?
  4. 資料分割策略:隨機 / 分層 / 時序 / 交叉驗證,各自適用什麼場景?
  5. 特徵工程五大技術是什麼?PCA 在做什麼?
  6. 資料增強怎麼讓訓練資料「變多」?SMOTE 解決什麼問題?
  7. DVC / MLflow 怎麼幫你管理資料版本?
  8. GDPR、去識別化、差分隱私在 AI 開發中的意義?

二、核心內容

2-1|八大流程總覽——餐廳備餐比喻

把 AI 資料處理流程想成一家米其林餐廳的備餐 SOP:

┌─────────────────────────────────────────────────────────┐
│  AI 資料處理八大流程                                       │
│                                                          │
│  ① 收集  →  ② 清理  →  ③ 標注  →  ④ 分割              │
│  買食材      洗菜切菜    貼標籤分類   分裝備用               │
│                                                          │
│  ⑤ 特徵工程  →  ⑥ 增強  →  ⑦ 儲存版控  →  ⑧ 法遵     │
│  調味萃取      做庫存備份   冷凍保鮮分批     食安規範         │
│                                                          │
└─────────────────────────────────────────────────────────┘

考試重點:這八個步驟不一定完全線性,但「清理必須在標注前」、「分割必須在訓練前」是基本原則。法遵(倫理合規)應貫穿整個流程,不是只在最後才考慮。


2-2|第一步:資料收集(Data Collection)

比喻:早上去市場採買,決定要買什麼、從哪個攤位買。

四大收集管道:

管道英文比喻工具 / 例子
API 串接API Integration超市直送:標準介面、品質穩定Twitter API、Google Maps API、氣象資料 API
網路爬蟲Web Scraping市場掃貨:量大但品質參差不齊Scrapy、BeautifulSoup、Selenium
感測器 / IoTSensor / IoT農場直送:即時、大量、連續串流工廠機台、智慧家電、醫療監測設備
公開資料集Open Datasets現成食材包:整理好可以直接用ImageNet、Kaggle、政府開放資料

考試重點:網路爬蟲在使用前必須確認robots.txt 規範和目標網站的服務條款,涉及版權和法律問題。收集到的是原始資料(Raw Data),不能直接訓練。


2-3|第二步:資料清理(Data Cleaning)

比喻:把買回來的菜洗乾淨、去掉爛掉的部分、把重複買的退掉。

三大清理任務:

問題類型英文比喻常見處理方法
缺失值Missing Values菜已經爛掉了,缺了一塊刪除該筆資料 / 均值填補 / 中位數填補 / 模型預測填補
異常值Outliers進了一顆超級大的異形番茄Z-score 過濾 / IQR 方法 / 視覺化後手動審查
重複值Duplicates同一顆高麗菜買了三顆對比主鍵或全欄位去重

缺失值處理策略比較

策略適用情境風險
刪除整筆缺失比例 < 5%,且是隨機缺失可能損失重要資料
均值 / 中位數填補數值型資料、分佈接近常態可能壓縮資料變異性
眾數填補類別型資料可能引入偏誤
模型預測填補缺失量大,資料有明顯關聯性計算成本高

常用工具pandas(Python)的 .dropna().fillna()scikit-learnSimpleImputerKNNImputer

考試重點:異常值不一定是「錯誤」,有時是真實的極端事件(例如黑色星期五的異常高銷售量),刪除前要先判斷業務意義。


2-4|第三步:資料標注(Data Labeling)

比喻:請專業人員把每一顆食材貼上標籤「這是有機蔬菜」、「這是基因改造大豆」。

四大標注策略:

策略英文比喻適用場景成本
人工標注Human Labeling自家員工一個一個貼高精度需求、醫療/法律領域最高
專家標注Expert Labeling請米其林大廚來鑑定需要領域知識(如放射科醫師標注 X 光)極高
群眾外包Crowdsourcing在網路上雇用兼職打工仔一般物件辨識、文字分類中等
弱監督標注Weak Supervision設定規則讓程式自動貼標(可能不準確)資料量龐大、快速迭代最低

主動學習(Active Learning)

不是一次標注所有資料,而是讓 AI 模型自己「挑選」它最不確定的資料請人標注,用最少的標注量達到最高的模型效果。

┌──────────────────────────────────────────────┐
│  主動學習流程                                  │
│                                               │
│  [少量標記資料] → 訓練初始模型                  │
│       ↓                                       │
│  模型選出「最不確定的 N 筆」→ 送給標注員         │
│       ↓                                       │
│  標注完成 → 加入訓練集 → 重新訓練               │
│       ↓                                       │
│  重複直到效能達標(標注量遠少於全量標注)          │
└──────────────────────────────────────────────┘

常用工具

  • Label Studio:開源的多功能標注平台,支援圖片、文字、音訊
  • Snorkel:弱監督學習框架,用「標注函數(Labeling Functions)」自動產生噪聲標籤再去噪

考試重點:**弱監督學習(Weak Supervision)**的核心是用「低品質大量標籤」取代「高品質少量標籤」,Snorkel 是這個領域的代表工具。


2-5|第四步:資料分割(Data Splitting)

比喻:食材備好後,分成「現在用」、「測試新菜色用」、「最後驗收用」三份。

四大分割策略:

策略英文適用場景注意事項
隨機分割Random Split資料量大、各類別分佈均勻最簡單,但可能造成類別不均
分層分割Stratified Split類別資料、不均衡資料集確保每個子集的類別比例與原始一致
時序分割Time-series Split時間序列資料(股票、氣象)絕對不能隨機分——不能用未來預測過去
K 折交叉驗證K-Fold Cross Validation資料量少、需要可靠的效能估計訓練 K 次取平均,計算成本 K 倍

為什麼時序資料不能隨機分割

┌──────────────────────────────────────────────────────┐
│  時序資料分割示範(以月份為例)                          │
│                                                       │
│  錯誤做法(隨機分割):                                 │
│  訓練集:1月、3月、5月、7月、9月                        │
│  測試集:2月、4月、6月、8月、10月                       │
│  → 用未來資料預測過去,結果虛高!                        │
│                                                       │
│  正確做法(時序分割):                                 │
│  訓練集:1月 → 7月(前 70%)                           │
│  驗證集:8月(中間 15%)                               │
│  測試集:9月 → 10月(最後 15%)                        │
│  → 永遠用「過去」預測「未來」                           │
└──────────────────────────────────────────────────────┘

考試重點分層抽樣(Stratified Sampling) 是處理類別不均衡資料集的標準做法,確保稀有類別在訓練集和測試集都有足夠代表性。


2-6|第五步:特徵工程(Feature Engineering)

比喻:廚師把食材切絲、榨汁、熬成高湯——把原始食材轉化成最適合烹飪的狀態。

特徵工程五大技術:

技術英文比喻例子
特徵轉換Feature Transformation把整條魚切成魚片、魚骨高湯對數轉換、標準化(StandardScaler)、正規化(MinMaxScaler)
特徵編碼Feature Encoding把「牛肉 / 豬肉 / 雞肉」翻譯成數字One-Hot Encoding、Label Encoding、Target Encoding
特徵選擇Feature Selection只保留對菜色最重要的食材,丟掉多餘的相關係數過濾、LASSO 正則化、隨機森林特徵重要性
特徵構建Feature Construction用現有食材做出新的半成品從出生日期算年齡、從交易紀錄算平均消費金額
降維Dimensionality Reduction把 100 種香料壓縮成 3 種精華調味包PCA(主成分分析)、t-SNE、UMAP

PCA(主成分分析,Principal Component Analysis)白話解釋

想像你有一張 1000 維的資料(1000 個特徵),PCA 幫你找到「最能保留資訊的方向」,把 1000 維壓縮成 10 維,而且儘量不損失太多資訊。

┌───────────────────────────────────────────────────┐
│  PCA 概念圖                                        │
│                                                    │
│  原始資料:身高、體重、BMI、腰圍(4個特徵,有相關)   │
│      ↓  PCA                                        │
│  主成分1:「身材大小」方向(解釋 80% 變異)           │
│  主成分2:「體型比例」方向(解釋 15% 變異)           │
│      ↓                                             │
│  4個特徵 → 2個主成分,保留 95% 資訊                 │
└───────────────────────────────────────────────────┘

考試重點:特徵工程在傳統機器學習中至關重要,深度學習(尤其 CNN)能自動學習特徵,但結構化資料仍需要手動特徵工程。One-Hot Encoding 把類別變成二進位向量,避免模型誤以為類別有大小關係。


2-7|第六步:資料增強(Data Augmentation)

比喻:食材不夠了,把已有的食材用不同方式加工,創造更多備用食材。

三大資料類型的增強方法:

資料類型增強技術比喻例子
圖像資料旋轉、翻轉、縮放、色彩調整、裁切、加噪聲把同一道菜從不同角度拍照貓咪照片左右翻轉 → 還是貓咪,但模型見過更多「角度」
文字資料同義詞替換、回譯(Back Translation)、隨機刪除把同一道食譜翻成英文再翻回中文「快樂」→「開心」、「喜悅」
音訊資料加入背景噪聲、改變音調、時間拉伸在不同噪音環境中錄同一句話安靜房間錄音 + 加入咖啡廳背景聲

SMOTE(Synthetic Minority Over-sampling Technique)

不是用在圖像或文字,而是用在類別不均衡的表格資料

比喻:你的訓練資料裡有 9900 個「正常交易」和 100 個「詐欺交易」,模型全猜「正常」就有 99% 準確率,但完全沒學到詐欺特徵。SMOTE 解法:在少數類別的樣本之間「插值」,合成新的假樣本,把少數類別補到一定比例。

┌──────────────────────────────────────────────────────┐
│  SMOTE 運作示意                                       │
│                                                       │
│  原始:●●●●●●●●●● (正常 9900) vs ★★ (詐欺 100)      │
│                                                       │
│  SMOTE 在 ★ 和 ★ 之間插值,生成 ★' ★'' ★''' ...      │
│                                                       │
│  增強後:●●●●●●●●●● vs ★★★★★★★★★★ (詐欺 → 1000+)    │
│  → 模型有更多詐欺樣本可以學習                           │
└──────────────────────────────────────────────────────┘

考試重點:資料增強的目的是增加訓練集多樣性、防止過擬合,但只能用在訓練集,絕對不能用在驗證集或測試集(否則評估結果失真)。


2-8|第七步:資料儲存與版本控制(Storage & Versioning)

比喻:廚房的冰箱管理——食材要分門別類、標記日期、知道哪個版本的高湯是上個月熬的。

AI 資料管理的三大工具:

工具用途比喻
DVC(Data Version Control)追蹤資料集的版本變化,類似 Git 但用於大型資料Git 用來管程式碼;DVC 用來管資料集
MLflow追蹤實驗(模型版本、超參數、結果指標)每次試菜的食譜和評分全部記錄下來
Data Lake(資料湖)儲存原始、多格式、大量資料,需要時再取用超大冷凍庫,原料全部丟進去,要用時再拿

Data Lake vs Data Warehouse(資料倉儲)比較

特性Data LakeData Warehouse
資料格式任意格式(結構化 + 非結構化)僅結構化資料
資料處理時機存入時不處理(Schema-on-read)存入時就整理好(Schema-on-write)
查詢速度較慢,需要先處理快,已優化
適用場景AI / ML 訓練、探索性分析商業報表、BI 分析

考試重點DVC 讓資料集和模型訓練結果可以像程式碼一樣「版本回滾」,是 MLOps 的核心工具之一。當你的資料集更新後,DVC 可以追蹤「是哪版資料訓練出哪版模型」。


2-9|第八步:倫理與法遵(Ethics & Compliance)

比喻:食安法規——你的食材來源合法嗎?有沒有過期?有沒有標示過敏原?

四大隱私保護技術:

技術英文做什麼比喻
去識別化Anonymization永久移除所有個人識別資訊,無法還原把菜單上的名字全部塗掉,連塗掉的格式都不保留
假名化Pseudonymization用假名替換真實身份,有金鑰才能還原把「王小明」換成「User-9527」,有表格才能對回去
差分隱私Differential Privacy在輸出結果加入數學噪聲,讓個人資料無法被推算調查問卷:有 50% 機率如實回答,否則隨機回答,統計上仍然有意義
聯邦學習Federated Learning資料不集中,模型到各地端訓練,只回傳梯度每家分店只分享「學到的技術」,不分享「顧客資料」

GDPR(一般資料保護規則)核心原則

原則白話說明AI 開發影響
目的限制收集資料只能用於說明的目的不能把客服資料拿去訓練廣告模型
資料最小化只收集任務必要的資料不要收集「備用」資料
被遺忘權用戶可要求刪除其所有資料模型訓練後要能移除特定用戶的影響
可解釋性自動化決策必須能解釋高風險 AI(如信貸審核)不能是黑盒子

考試重點去識別化(Anonymization) 是不可逆的;假名化(Pseudonymization) 是可逆的(有金鑰)。GDPR 認定假名化資料仍屬個人資料,去識別化後才不受 GDPR 管轄。


三、關鍵名詞中英對照

中文英文一句話解釋
資料清理Data Cleaning處理缺失值、異常值、重複值
缺失值Missing Values資料中有欄位沒有數值
異常值Outliers與正常分佈差異極大的數值
資料標注Data Labeling為資料加上正確答案標籤
弱監督Weak Supervision用低品質標籤大量訓練
主動學習Active Learning模型主動挑選最有價值的樣本請人標注
分層抽樣Stratified Sampling確保各類別比例一致的資料分割方式
特徵工程Feature Engineering將原始資料轉化成模型可以有效學習的特徵
主成分分析PCA將高維資料壓縮到低維,保留最多資訊
One-Hot 編碼One-Hot Encoding將類別轉為二進位向量,避免大小順序問題
資料增強Data Augmentation對現有資料做變形,創造更多訓練樣本
SMOTESMOTE合成少數類別樣本,處理類別不均衡問題
資料版本控制Data Version Control (DVC)追蹤資料集版本,類似資料的 Git
資料湖Data Lake儲存原始多格式資料的大型儲存體
去識別化Anonymization永久移除個人識別資訊,不可還原
假名化Pseudonymization用假名替換身份,有金鑰可還原
差分隱私Differential Privacy加入數學噪聲保護個人隱私
GDPRGDPR歐盟個人資料保護法規

四、考試重點提示

必背清單

  1. 八大流程順序:收集 → 清理 → 標注 → 分割 → 特徵工程 → 增強 → 儲存版控 → 法遵
  2. 缺失值三大策略:刪除 / 填補 / 預測
  3. 時序資料分割不能隨機,必須依時間順序切割
  4. SMOTE 解決類別不均衡問題,不是讓資料變多那麼簡單
  5. 去識別化(不可逆)vs 假名化(可逆),GDPR 只對假名化資料有管轄
  6. DVC 管資料版本;MLflow 管實驗記錄
  7. 資料增強只能用在訓練集,不能用在測試集

易混淆比較

常搞混的差別在哪
資料增強 vs SMOTE增強用在圖像 / 文字 / 音訊;SMOTE 用在結構化資料的類別不均衡
Label Studio vs SnorkelLabel Studio 是人工標注平台;Snorkel 是程式化弱監督標注框架
DVC vs MLflowDVC 管資料集版本;MLflow 管模型訓練實驗記錄
Data Lake vs Data WarehouseLake 存原始多格式資料;Warehouse 存整理好的結構化資料
去識別化 vs 假名化去識別化不可逆,不受 GDPR 管;假名化可逆,仍受 GDPR 管
隨機分割 vs 分層分割隨機可能讓少數類別全進測試集;分層確保比例一致
隨堂小測驗

Q1. 你的資料集中有 5% 的「詐欺交易」和 95% 的「正常交易」,最適合用哪種方式讓模型學到更多詐欺特徵?

  • (A) 隨機分割
  • (B) K-Fold 交叉驗證
  • (C) SMOTE 合成少數類別樣本
  • (D) PCA 降維

Q2. 使用時間序列資料(如每日股價)訓練預測模型時,資料分割應該使用哪種方式?

  • (A) 隨機分割(Random Split)
  • (B) 分層抽樣(Stratified Split)
  • (C) 時序分割(Time-series Split)
  • (D) K-Fold 交叉驗證

Q3. 下列關於去識別化(Anonymization)與假名化(Pseudonymization)的敘述,哪個正確?

  • (A) 兩者在 GDPR 下都不受管轄
  • (B) 去識別化可以透過金鑰還原;假名化不可還原
  • (C) 去識別化不可還原,GDPR 不再管轄;假名化仍視為個人資料
  • (D) 兩者都可以透過金鑰還原

Q4. Label Studio 和 Snorkel 的主要差異是什麼?

  • (A) Label Studio 用於圖像;Snorkel 用於文字
  • (B) Label Studio 是人工標注平台;Snorkel 是弱監督程式化標注框架
  • (C) Label Studio 免費;Snorkel 需要付費
  • (D) 兩者功能相同,只是介面不同

Q5. 資料增強(Data Augmentation)的正確使用原則是?

  • (A) 可以同時用在訓練集和測試集,讓評估更可靠
  • (B) 只能用在測試集,訓練集不需要增強
  • (C) 只能用在訓練集,不能用在驗證集和測試集
  • (D) 只能用在圖像資料,不能用在文字和音訊

解答與解析

題號答案解析
Q1(C)詐欺交易只有 5% 是典型的類別不均衡問題,SMOTE 透過在少數類別樣本間插值合成新樣本,讓模型有足夠的詐欺樣本可學。PCA 是降維工具,不解決類別不均衡;隨機分割和 K-Fold 是分割策略,不增加少數類別樣本數。
Q2(C)時間序列資料有時間順序,如果隨機分割,會用「未來資料」預測「過去」,造成資料洩漏,評估結果嚴重失真。必須用時序分割,永遠保持「用過去預測未來」的方向。
Q3(C)去識別化(Anonymization)是不可逆操作,移除所有識別資訊後,GDPR 不再視其為個人資料;假名化(Pseudonymization)用假名替換但保留還原金鑰,GDPR 仍視其為個人資料,受到管轄。
Q4(B)Label Studio 是視覺化的標注工具平台,標注員可以手動點選標記圖片、文字等;Snorkel 是程式化弱監督框架,讓工程師撰寫「標注規則函數」來批次自動標注,適合大規模資料。
Q5(C)資料增強只能用在訓練集。如果對測試集也做增強,等於改變了「原始真實分佈」,評估結果不再代表模型在真實世界的表現。驗證集同理,也不能增強。