監督學習-分類模型-資料預處理&模型優化-鐵達尼號數據為例

監督學習-分類模型-資料預處理&模型優化-鐵達尼號數據為例

在解決了「如何衡量模型」後,今天我們要進入真實世界的戰場。透過鐵達尼號資料集,學習如何從髒亂的原始數據開始,打好資料前處理的地基,並透過正則化與交叉驗證,打造出強健的分類引擎。


ML003 中,我們透過正弦波實驗,理解了 Overfitting(過擬合)與 Underfitting(欠擬合)的理論本質。今天,我們將進入真實世界的戰場。以最經典的 鐵達尼號 (Titanic) 生存預測為例,學習如何從資料清洗開始,一步步完成模型的極限優化。


一、 資料集來源:Titanic

  • 任務目標:根據乘客的特徵(如年齡、艙等、性別)預測其是否倖存。
  • 挑戰點:資料不完整(有缺失值)、包含類別特徵(文字)、模型容易過擬合。

欄位說明:

  • Survived (目標 y):0=死亡, 1=倖存。
  • Pclass:艙等 (1, 2, 3)。
  • Sex:性別。
  • Age:年齡 (存在大量缺失)。
  • SibSp / Parch:親屬人數。
  • Fare:票價。
  • Embarked:登船港口。

二、 模型選型:為什麼依然是邏輯回歸?

在這一站,我們依然選用 邏輯回歸 (Logistic Regression) 作為核心模型。

你可能會問:「為什麼不換更強的模型?」原因在於邏輯回歸是學習 「模型優化」 的最佳教科書。它的運算速度快,且其權重(Coefficients)具有極高的可解釋性,能讓我們一眼看清 L1/L2 正則化是如何「修剪」特徵的。


三、 第一階段:打好地基

在機器學習中,有一句話叫 "Garbage In, Garbage Out"。如果資料沒處理好,再強的演算法也沒用。

1. 偵測髒數據

透過熱力圖,我們可以一眼看出資料的缺失情況。黃色的部分代表缺失值,我們可以看到 Age 欄位有明顯的斷層。

缺失值熱力圖

2. 自動化流水線 (Pipeline)

我們使用 Scikit-Learn 的 Pipeline 工具,將「填補缺失值」與「數據標準化」串接起來。

以「年齡 (Age)」為例,Pipeline 幫我們做了這兩件事:

  1. 中位數填補 (Imputation):如果乘客 A 的年齡缺失,Pipeline 會先計算全船乘客的年齡中位數(約 28 歲),然後自動幫 A 補上 28。
  2. 數據標準化 (Scaling):補完值後,將年齡縮放到平均值為 0、標準差為 1 的分佈。例如,28 歲會變成 0,而較年長者會變成 1.5。這能防止數值太大的特徵(如票價)霸凌數值較小的特徵。
資料前處理對照

💡 前處理的奇蹟:從「不能跑」到「跑得穩」

鐵達尼號的原始資料就像一堆未經處理的原礦。如果你不做前處理:

  • 模型報錯:遇到文字(Sex)或缺失值(Age),模型會直接罷工。
  • 草率處理 (Lazy):如果你直接把有缺值的乘客刪掉,你會損失 20% 的寶貴資料,正確率通常在 75% 左右徘徊。
  • 精細處理 (Pipeline):透過補值挽救資料,正確率能穩定提升至 81% 以上。

結論:前處理不只是為了讓程式能跑,更是為了「不浪費任何一筆數據」。


四、 第二階段:優化的羅盤 — 深度評估與穩健性

1. ROC 曲線與 AUC:模型的「區分戰力」

除了上一篇講到的 PR 曲線,ROC 曲線 是衡量分類器「區別能力」的一個方法。它展示了模型在不同閾值下,抓到生存者 (TPR) 與誤判生存者 (FPR) 之間的博弈。

  • AUC (Area Under Curve):就是曲線下的面積。
    • 幾何直觀:想像這是一個 1x1 的正方形,總面積為 1。AUC 就是橘色曲線下方的「覆蓋面積」。這塊面積佔比越大(曲線越往左上角靠攏),代表模型越厲害。
    • 0.5:代表模型像在丟硬幣,完全沒有區分能力。
    • 0.7 - 0.8:代表表現尚可。
    • 0.8 - 0.9:代表模型非常優秀。
    • 1.0:完美模型(現實中極少見)。

在鐵達尼號實作中: 我們的 AUC 達到了 0.86(如下圖右下角標註)。這意味著如果你隨機挑選一位生存者和一位遇難者,模型有 86% 的機率能正確判斷誰的「生存機率」更高。這就是為什麼我們說 AUC 反映了模型的「排序能力」。

❓ 為什麼前文說正確率是 0.81,這裡又是 0.86?

  • 正確率 0.81 (Accuracy):是模型在「是非題」上的得分。代表模型在 100 個人中猜對了 81 個。
  • AUC 0.86:是模型的「總體戰力」。它衡量的是模型區分生死的潛力,通常會比單次的正確率高。
  • 簡單比喻:正確率就像是某次段考的「分數」,而 AUC 則是一位學生的「總體實力 (GPA)」。
ROC 曲線

💡 進階思考:為什麼這裡用 ROC,而上一篇用 PR 曲線?

  • ROC 曲線 (本篇):適合資料「相對平衡」的場景(如鐵達尼號)。它看的是模型的整體「區別能力」,不會因為生存比例變動而產生過度樂觀的誤差。
  • PR 曲線 (Day 02 癌症篇):適合資料「極度失衡」的場景。在癌症診斷中,ROC 往往會給出過於漂亮的數字,而 PR 曲線能精確捕捉到模型在「稀有類別」上的真實表現。

2. K-Fold 交叉驗證:拆穿過擬合的謊言

模型在單一次測試中拿高分可能是「運氣好」。我們將資料切成 10 份 (10-Fold),進行「輪番大考」:

  • 輪流考試:每次拿 9 份來訓練,剩下的 1 份當考題。這個過程重複 10 次,確保每一份資料都被當過考題。
  • 紫色圓點 (Fold Scores):下圖中的每個點代表其中一次考試的正確率。你可以看到成績在 0.75 到 0.84 之間波動,這反映了資料不同分片帶來的挑戰。
  • 紅色橫線 (Mean Accuracy):這是 10 次成績的平均值(約 0.8036)。比起單次的高分,這條平均線更能代表模型的真實實力。

為什麼要看波動? 如果紫色點點忽高忽低(例如一個 0.9,一個 0.4),代表模型極度不穩定,可能存在過擬合;而圖中點點相對集中在紅線附近,說明我們的模型非常穩健 (Stable)

交叉驗證穩定度

📊 診斷報告:我們看到了什麼? 雖然平均正確率有 0.8036,但仔細看 K-Fold 的波動:最高 0.84、最低 0.75。這 9% 的落差 說明模型還不夠穩健,它在某些資料分片下表現優異,但在其他分片卻會大跌跤。

病因分析:這是輕微的「過擬合 (Overfitting)」,模型可能學到了一些無用的雜訊。

接下來的目標:我們需要「優化的手術刀」,透過 正則化 (Regularization) 來強制修剪不重要的係數,並用 Grid Search 找到那個能讓模型在各種資料下都表現一致的黃金參數。


五、 第三階段:優化的手術刀 — 參數調優與正則化

1. L1 vs L2:兩把不同風格的手術刀

在對抗過擬合時,我們有兩套不同的策略:

  • L1 正則化 (Lasso):像一把 「剪刀」。它會無情地將不重要的特徵係數直接剪成 0,非常適合用來做「特徵篩選」。
  • L2 正則化 (Ridge):像一個 「平衡錘」。它不會把係數變 0,但會讓所有係數都盡量縮小(變得平滑),確保沒有任何一個特徵能獨霸整個模型。

讓我們看看在鐵達尼號的特徵中,這兩把刀是如何運作的:

L1 vs L2 權重對比
  • 實測觀察:在圖中我們可以看到,sex_male (男性) 的權重非常顯著且為負值值(向下延伸),這印證了歷史實情:男性在該場災難中的倖存率確實顯著較低。更重要的是,L1 正則化 (紅點) 成功將一些無關緊要的特徵直接歸零了。

2. 優化的挫折:當努力撞上「天花板」

在我們動用了 Grid Search 自動測試了幾百種組合後,我們得到了一個非常真實且令人沮喪的結果:

  • 原地踏步:儘管我們精細調整了參數,平均正確率依然死死卡在 80% ~ 81% 左右,幾乎沒有實質提升。
  • 波動依舊:那 9% 的大幅波動依然存在,這代表模型對資料的「偏見」依然根深蒂固。

這告訴我們一個殘酷的現實:並不是所有的問題都能靠「調參」來解決。

突破天花板的兩條路

當你在一個模型上努力到了極限,正確率卻不再提升時,你通常有兩條路可以走:

  1. 深耕特徵工程 (Feature Engineering):挖掘更深層的信號。
  2. 更換非線性模型 (Model Selection):這正是我們接下來要展示的「終極武器」。

六、 繼續嘗試:當線性遇到非線性

為了打破 81% 的魔咒,我們換上了機器學習界的常勝軍 —— 隨機森林 (Random Forest)

終極對決

為什麼隨機森林更強?

從上圖可以看到,隨機森林(Random Forest)不僅將平均正確率推升到了 82.3%,更驚人的是它的 穩定度(箱型圖的範圍明顯更窄)

  • 邏輯回歸 (線性):像是在用一把直尺測量波浪,難免顧此失彼。
  • 隨機森林 (非線性):由上百棵決策樹組成,它能自動捕捉特徵之間複雜的交互關係,這就是它能突破天花板的原因。

七、 總結:分類任務與模型優化

至此,我們正式完成了「分類任務與模型優化」的深度探索:

  1. [ML001]:繪製地圖,理解分類流程的位置。
  2. [ML002]:建立指標,學會用 PR 曲線看穿真相。
  3. [ML003]:理論地基,理解 Overfitting 與 Underfitting。
  4. [ML004]:實戰優化,從預處理到換上隨機森林。

下一站,我們將帶著這套優化心法,離開「是非題」的分類世界,進入「填空題」的回歸領域。透過加州房價預測,學習如何進行深度模型診斷,並掌握對抗過擬合的終極手術刀 —— 正則化。