監督學習-分類模型評估-乳腺癌診斷數據為例

監督學習-分類模型評估-乳腺癌診斷數據為例

分類任務不只是選擇演算法。本篇透過乳腺癌診斷資料集,深入解析為什麼 Accuracy 會騙人、如何利用 L1/L2 正則化對抗過擬合,並透過 GridSearchCV 自動化尋找最佳模型參數。


Day 01 中,我們學會了如何在地圖上選擇分類器。但實戰中,選好武器只是開始。今天我們將透過 乳腺癌診斷資料集 (Breast Cancer Wisconsin),學習如何將一個普通的分類器,修煉成一個專業、強健的判斷引擎。


一、 資料集來源:Breast Cancer Wisconsin

  • 資料來源:UCI Machine Learning Repository / Scikit-Learn 內建資料集。
  • 備註:這是機器學習領域最經典的二元分類資料集之一,用於透過細胞核特徵預測腫瘤是良性 (Benign) 還是惡性 (Malignant)。

資料集特色與欄位介紹:

這是一個純數值的 二元分類問題 (Binary Classification)。資料集包含 30 個特徵,這些特徵是從乳房腫塊細針抽吸術 (FNA) 的數位影像中計算出來的。

欄位說明:

  • Target (目標 y):診斷結果 (0=Malignant 惡性, 1=Benign 良性)。
  • 特徵 (Features):共 30 個,主要包含 10 個核心特徵的「平均值 (Mean)」、「標準差 (Standard Error)」與「最差值 (Worst)」:
    1. Radius:半徑(從中心到邊界點的平均距離)。
    2. Texture:紋理(灰度值的標準差)。
    3. Perimeter:周長。
    4. Area:面積。
    5. Smoothness:平滑度(局部長度變化的程度)。
    6. Compactness:緊湊度(周長的平方 / 面積 - 1.0)。
    7. Concavity:凹陷度(輪廓凹陷部分的嚴重程度)。
    8. Concave points:凹點數(輪廓凹陷部分的數量)。
    9. Symmetry:對稱性。
    10. Fractal dimension:分形維度。

二、 模型評估

在我們的實測案例中,測試集共有 114 人,其中 71 人為良性(健康)、43 人為惡性(患病)。如果模型投機取巧地「預測所有人都是健康」,雖然準確率仍有 62.3%,但它卻會漏掉所有 43 個真正的病人,後果不堪設想。這就是為什麼我們需要更深層的指標。

我們以 Logistic Regression (邏輯回歸) 作為基礎模型進行訓練,並得到以下實測結果:

關鍵指標對比:

指標定義醫療場景意義實測數據說明 (對照上方圖表)
Accuracy (準確率)猜對的總數 / 樣本總數整體表現。99.1% (113/114):雖然很高,但在醫療場景仍需搭配其他指標。
Precision (精確率)預測惡性中,真的惡性的比例型一錯誤 (Type I):減少誤診。100% (42/42):模型非常謹慎,沒有把任何健康者誤判為惡性。
Recall (召回率)真的惡性中,被預測出來的比例型二錯誤 (Type II):避免漏診。97.7% (42/43)有一個惡性案例被漏掉了(圖片右上角的 1)。
F1-Score (F1 分數)Precision 與 Recall 的調和平均平衡指標:綜合評估模型的穩定度。98.8%:綜合性能非常強健,適合用於類別不平衡的場景。
PR 曲線Precision 與 Recall 的關係尋找平衡點。AP = 1.00:平均精確率完美。
乳腺癌診斷混淆矩陣
PR 曲線

三、 指標的博弈:F1-Score 與 Sweet Spot

在分類任務中,Precision 與 Recall 往往是一對「競爭對手」。

  • 當我們提高判斷門檻 (Threshold),Precision 會升高,但會漏掉一些病人 (Recall 下降)。
  • 當我們降低判斷門檻,Recall 會升高,但會造成過多假警報 (Precision 下降)。

這就是為什麼我們需要 F1-Score。它的公式是兩者的「調和平均」,能防止其中一個指標極低時造成數值虛高。

視覺化診斷:尋找 Sweet Spot

下圖展示了在不同門檻值下,指標的變化趨勢:

Precision-Recall-F1 vs Threshold
  • 紅色曲線 (F1-Score):你可以看到它在中間某個點達到最高峰。這就是模型的 Sweet Spot —— 在不造成過多誤判的前提下,盡可能地抓出所有的病灶。
  • 建議:如果你的資料集類別極度不平衡,F1-Score 比 Accuracy 更能反映模型的真實實力。

四、 指標是模型的靈魂

透過乳腺癌這個資料集,我們學到了一件最重要的事:模型評價不能只看一個數字。

  1. Accuracy (準確率) 初步判斷成績。
  2. Recall (召回率) 是給醫生看的防線(防止漏診)。
  3. Precision (精確率) 是給資源管理者看的(防止浪費)。
  4. F1-Score (F1 分數) 綜合性能指標。

在第一站,我們學會了如何「衡量」一個模型。但如果我們發現模型在測試集表現很好,在真實世界卻大翻車(過擬合)時該怎麼辦?

下一站,我們將透過一個經典的「正弦波」實驗,深入探討機器學習的靈魂矛盾:過擬合 (Overfitting) 與 欠擬合 (Underfitting),並學會如何找到模型最完美的平衡點。


五、 行動建議

  1. 定義你的關鍵錯誤:在動手寫 Code 前,先問自己:型一錯誤(誤報)還是型二錯誤(漏報)對我的業務更致命?
  2. 永遠畫出混淆矩陣:它是所有分類問題的起點,能讓你一眼看出模型在哪裡跌倒。
  3. 監控 AP 值:在處理類別不平衡的資料時,PR 曲線下的 AP 值比 Accuracy 更能反映模型的真實實力。