Data Science Lifecycle

資料科學全流程

各位觀眾晚安,歡迎來到一場八幕的資料脫口秀。
你以為主角是「模型」?不,牠只是客串三分鐘的臨演。

—— 犬蔥評論 · 專案八關脫口秀

先講個冷知識,讓你今晚睡不著:大家搶著學的「訓練模型」,在一個真實專案裡,大概只佔一成。剩下九成是什麼?是問對問題、是洗到你懷疑人生的髒資料、是上線後半夜被叫起來救火。

這行有句祖訓,八個字,貼在每個資料人的墓碑上:Garbage in, garbage out——垃圾進,垃圾出。你前面偷的懶,後面會加倍還你,本金加利息,童叟無欺。

所以今晚不聊演算法,我們聊一條八關流水線。八幕劇,每幕四個梗,帶你看一個資料專案怎麼從一句空話,變成一台真的會賺錢的系統。燈暗,開場——

1

問題定義

第一幕,還沒碰資料,成敗就先定了一半。方向錯了,你跑得越快,離終點越遠。

問題定義 Problem Framing

老闆說的不是題目,是願望

老闆說:「幫我把業績搞起來。」這不是需求,這是許願池。你得把願望翻譯成資料聽得懂的人話——是要「揪出快跑掉的客人」,還是「找出最捨得花錢的金主」?問題模糊,答案再漂亮也是精美的廢話。

KPI 定義 Metrics

先講好「幾分算及格」

沒定 KPI 的專案,結局只有一種:驗收那天大家圍在螢幕前,「你覺得有變好嗎?」「好像有喔?」然後散會。開工前把數字釘死——準確率加 5%?成本砍一成?講清楚,免得最後變玄學。

實驗規劃 Experiment Design

別把「旺季」的功勞記在自己頭上

你的模型上線,業績漲了。恭喜——但那是你的功勞,還是剛好碰上雙十一?沒設對照組,你永遠分不清是實力還是運氣。驗證方法要在動手前想好,不然結論全是自我感覺良好。

資料需求與限制 Constraints

先看牌桌上有沒有牌

興高采烈規劃完,才發現要的資料公司根本沒有、或有但不能用。很多專案不是死在技術,是死在「巧婦難為無米之炊」。先盤點手上有什麼牌,再決定怎麼打,別先畫餅再哭。

2

資料來源

第二幕,出門找米。米有很多種,可惜有些長得像米,其實是老鼠屎。

資料來源 Data Sources

米,散落在江湖各個角落

資料庫裡有、API 那邊有、公開資料集有、感測器也有。第一件事是把它們一個一個找出來、認清身分——格式長怎樣、多久更新一次、可不可靠。認錯米,後面整鍋粥都白熬。

DB / API 存取管道

兩條最常走的取米路

乖乖排隊的結構化資料,多半躺在資料庫裡等你用 SQL 撈;不然就透過別人家的 API 拉。管道穩不穩,決定你是天天自動收米,還是天天手動搬米搬到崩潰。

取樣偏差 Sampling Bias

全場最陰的隱形殺手

你只問了老顧客,就以為全世界都愛你——這叫倖存者的錯覺。資料只採到某一群人,模型就會活在平行宇宙。最可怕的是這種偏差你看不到摸不著,卻能讓專案從骨子裡爛掉。

爬蟲 / Log Crawler / Logs

又髒又亂,卻藏著金礦

網頁爬蟲、伺服器日誌、用戶點擊紀錄——這些原始 Log 是海量金礦,但也是海量垃圾,一比一混在一起賣。金子在裡面,就看你後面幾關淘不淘得動。

3

資料管線

第三幕,工程師登場。把「一次性搬米」升級成「自動送米到府」的供應鏈。

資料管線 Data Pipeline

讓資料自己流,別再手動搬

手動搬資料,第一次很勤勞,第三次就想離職。管線把「抽取→處理→存放」全自動化,讓資料像自來水一樣,打開就有。沒有它,你永遠停在一次性 Demo。

ETL / ELT 抽取轉換載入

先洗菜還是先進冰箱?

ETL 是老派媽媽:先把菜洗好切好,才准進冰箱;ELT 是現代人:先全塞進去,等要煮了再洗。前者嚴謹傳統,後者配上雲端數倉更任性彈性,看你家廚房多大。

ACID / Schema 一致性與結構

確保搬到一半不會出人命

ACID 保證交易做一半停電,不會留下一筆鬼帳;Schema 幫每個欄位排好座位。沒紀律的資料,最後會變成一團誰都不敢碰的漿糊,碰了就崩。

DW / Lake 數倉 / 資料湖

整理控 vs 囤積狂

資料倉儲是潔癖:只收整理好、排排站的結構化資料;資料湖是囤積狂:什麼原始垃圾都先倒進來再說。現代人索性兩個都要,合體叫 Lakehouse。

4

資料清理

第四幕,全劇最髒的一幕。佔掉八成工時,無聊到想哭,但省了它,後面全劇終。

資料清理 Data Cleaning

歡迎光臨,資料車禍現場

真實資料永遠像剛出車禍:重複、亂碼、格式各自表述、單位公斤公克混著填。這關就是戴上手套,一具一具把屍體抬乾淨。沒人愛做,但它決定生死。

缺失值處理 Missing Values

那一格空白,你要怎麼填?

資料裡一堆沒填的欄位,像考卷上的空格。直接刪?用平均硬補?還是叫模型幫你猜?補錯了,等於在答案卷上自己發明答案——然後模型還真的信了。

一致性檢查 Consistency

抓出那些「自己打自己臉」的資料

生日在 2077 年、年齡是負五歲、同一個人上一筆是男下一筆是女。這些邏輯上的鬼故事不揪出來,分析結果會荒腔走板到你不敢見人。

離群值偵測 Outlier Detection

那個月薪一億的傢伙,是誰?

一筆離譜到爆的資料——是手滑多打幾個零,還是真有這尊大神?離群值可能是雜訊該刪,也可能正是你要抓的那條大魚(詐騙、異常)。刪還是留,手要穩,心要細。

資料終於洗乾淨了,香噴噴。
可是你根本還不認識牠——牠的脾氣、長相、心裡的小秘密,你一無所知。
下一幕,該坐下來,好好跟資料培養感情了。
5

探索分析

第五幕,建模前的曖昧期。先用眼睛把資料上下打量一遍,別急著求婚。

探索分析 EDA

先跟資料吃頓飯,別急著結婚

不急著建模,先問資料一堆問題:你長怎樣?有啥規律?哪裡怪怪的?這頓飯吃得越透,後面越不會踩雷,還常常在閒聊中挖到意外的大八卦。

分佈 / 偏態 Distribution

資料是長胖,還是長歪?

是漂亮對稱的鐘形,還是重心整個歪一邊?分佈的身材,決定你能用哪些方法、要不要先做健身(轉換)。建模前的體檢,別跳過。

相關 / 關聯 Correlation

冰淇淋賣越多,溺水的人越多——兇手是誰?

找出誰跟誰有關,是必修。但千萬記住那句血淚名言:相關不等於因果。冰淇淋和溺水一起飆高,真兇不是冰淇淋,是夏天。搞錯這個,笑話就是你。

視覺化 Visualization

一張圖,勝過你 report 裡一千行數字

直方圖、散點圖、箱型圖,一畫下去,趨勢、異常、關係全現形。人眼看圖找 pattern 的速度,有時比演算法還快——而且老闆只看得懂圖。

6

統計推論

第六幕,照妖鏡登場。把「這批資料看起來這樣」升級成「整個世界大概這樣」——順便拆穿運氣。

統計推論 Inference

嚐一口湯,判斷整鍋鹹淡

你不可能把全國人口都問一遍,只能舀一小勺樣本,推估整鍋。統計推論就是這套「以小見大」的嚴謹手藝,而且它夠誠實,會告訴你「我有幾成把握」。

假設檢定 Hypothesis Testing

這 2% 的提升,是真愛還是巧合?

新版轉換率高了 2%,你興奮到想開香檳——但那是真的變好,還是老天爺剛好賞你一次好運?假設檢定(p 值、信賴區間)就是幫你分辨「訊號」和「僥倖」的測謊機。

A/B Test 對照實驗

與其吵架,不如開賭盤

新舊版本哪個好?別在會議室吵——把用戶隨機分兩組,一組舊、一組新,數據見真章。這是網路公司驗證任何改動的黃金標準,讓決策不再靠老闆的直覺(和心情)。

因果推論 Causal Inference

全劇最難的一題:到底是不是「它」害的?

相關很好交朋友,因果超難結婚。「如果當初不這麼做,結果會不一樣嗎?」因果推論用一堆硬核方法去逼近這個「平行時空的假設」——這是資料科學的聖杯,也是最容易翻車的地方。

懂資料、也懂統計了,終於可以餵模型了。
但這位大爺很挑食——你不能把生米直接倒進牠嘴裡,
得先把資料,料理成牠吞得下去的樣子。
7

特徵建模

第七幕,備料的藝術。這行有句真理:特徵工程決定天花板,模型只是努力去頂那個天花板。

特徵建模 Feature Engineering

好廚師,贏在切菜

把原始資料加工成有預測力的「特徵」——從時間戳算出星期幾、把地址變成經緯度。這一刀切得漂不漂亮,常常比你換哪把菜刀(演算法)還關鍵。

標準化 / Robust Scaling

別讓模型被大數字嚇到

年齡幾十、收入幾萬,尺度差這麼多,模型會以為收入比較「重要」,只因為數字大。標準化把大家拉到同一條起跑線;Robust 版還特別抗那些離譜的怪咖。

One-hot / Label 類別編碼

模型不識字,只好翻譯給牠聽

模型只吃數字,可是「紅/綠/藍」怎麼餵?One-hot 拆成一堆 0/1,Label 直接編號。編錯了,模型會以為「藍(3)比紅(1)大」,然後認真地算起顏色的加減乘除。

樣本不平衡 Imbalance

全班考 99 分,卻是個廢物模型

詐騙偵測裡,99.9% 都是正常交易。模型只要無腦全猜「正常」,準確率就 99.9%——完美,也完全沒用。過採樣、欠採樣、調權重,都是為了逼牠正眼看那稀少卻要命的關鍵少數。

8

交付監控

第八幕,也是最容易被忘記的一幕。模型跑出好結果不是結局,是牠人生的開始。

交付監控 Deployment

在你筆電裡神,在真實世界零

Jupyter 裡跑得再美,用戶碰不到,分數就是零。這關把模型推上線,讓牠去真實世界挨真實流量的打。能扛住,才算真的活著。

Dashboard / API 交付形式

給人看,還是給機器叫?

給人看的,做成儀表板,老闆一眼看懂、頻頻點頭;給系統用的,包成 API,讓別的程式隨時來敲門要答案。兩種形式,兩種客人。

隱私 / 治理 Privacy & Governance

別讓一個好模型,幫你惹上官司

用了個資就得守法,模型會不會偷偷歧視某群人?資料誰能碰?治理沒做好,技術再神,也可能一封律師函打回原形。這關,是給你自己買的保險。

Data Drift 資料漂移

模型是要養的,不是丟著就好

世界一直變,去年準的模型,今年可能就老花了(用戶習慣變了、疫情來了)。得盯著輸入資料有沒有偷偷「漂走」,該重訓就重訓。養模型跟養寵物一樣,放生了牠就走鐘。