
非監督學習-PCA 降維-以乳腺癌診斷數據為例
面對 30 個維度的數據,人類的視覺已經失靈。本篇透過乳腺癌資料集,展示如何利用 PCA (主成分分析) 進行數據瘦身,將高維度的訊息「壓縮」成 2 維的可視化地圖,並學會讀懂這張地圖背後的變異真相。
WRITTEN BY

- Name
- Harry Chang
在 ML007 中,我們挖掘了行為之間的關聯。但如果我們面對的是像 ML002 中那種擁有 30 個特徵的乳腺癌資料集,我們該如何「一眼」看穿所有數據的佈局?
這就是 PCA (Principal Component Analysis, 主成分分析) 的主場。它是一把「數據縮小燈」,能幫我們把高維空間的複雜規律,投影到我們看得見的 2D 或 3D 平面上。
一、 資料集來源: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)」:
- Radius:半徑(從中心到邊界點的平均距離)。
- Texture:紋理(灰度值的標準差)。
- Perimeter:周長。
- Area:面積。
- Smoothness:平滑度(局部長度變化的程度)。
- Compactness:緊湊度(周長的平方 / 面積 - 1.0)。
- Concavity:凹陷度(輪廓凹陷部分的嚴重程度)。
- Concave points:凹點數(輪廓凹陷部分的數量)。
- Symmetry:對稱性。
- Fractal dimension:分形維度。
💡 為什麼要再訪這個資料集? 擁有 30 個特徵意味著數據存在於「30 維空間」。人類無法想像 30 維的樣子,這就是所謂的 「維度災難 (Curse of Dimensionality)」。PCA 的任務就是幫我們從這 30 個方向中,找到最關鍵的兩個「投影視角」。
二、 PCA 的邏輯:旋轉與投影
PCA 絕對不是隨機挑兩個特徵出來畫圖,它是透過數學計算,找出數據中 「最能說故事」 的兩個視角。
PCA 的三步曲診斷:
- 標準化 (Standardization):
- 在乳腺癌數據中,「面積」的數值可能上千,但「平滑度」可能只有 0.1。
- 如果不先進行標準化,PCA 會誤以為「數值大的特徵就是最重要的」。我們會將所有特徵縮放到相同的比例(平均值 0,標準差 1),確保公平競爭。
- 尋找最大變異 (Finding Max Variance):
- 想像這 30 維數據是一團浮在空中的雲。PCA 會在空間中不斷旋轉這團雲,直到找到一個角度,讓這團雲看起來 「展開得最開」(也就是變異量最大)。這個方向就是 PC1。
- 接著,它會找一個與 PC1 垂直的方向,且具備第二大展開程度的方向,這就是 PC2。
- 線性組合 (Linear Combination):
- 最終,PC1 並不是某一個原始特徵,而是 30 個特徵的「混合果汁」。
- 例如:。這就是為什麼我們需要「熱力圖」來拆解這杯果汁裡到底加了什麼。
📷 直觀比喻:拍照的藝術 想像你要拍一張腳踏車的照片。如果你從正面拍,你只能看到一個輪子;如果你從側面拍,你能清楚看到兩個輪子、車架和把手。PCA 的工作就是幫這 30 維的數據雲,找到那張 「最能看清全貌的側面照」。
三、 PCA 診斷報告:看穿數據的靈魂
透過 Day 62 的實驗,我們得到了以下三張診斷圖:
1. 碎石圖 (Scree Plot):我們損失了多少資訊?
這張圖告訴我們每個主成分攜帶的資訊比例。
圖 A:主成分解釋變異量診斷
- 如何讀懂這張圖?
- 藍色長條:代表單一主成分的貢獻。PC1 佔了約 44%,PC2 佔了約 19%。
- 紅色階梯線:代表「累積」資訊量。你可以看到在 Index = 2 的位置,紅線剛好越過了 0.6 (60%) 的水平線,精確數值為 63.2%。
- 診斷結論:這意味著我們只需用 PC1 與 PC2 兩個維度,就能保留原始 30 個特徵中超過六成的訊息量。
2. PCA 2D 投影圖:跨越維度的分類
這是最震撼的一張圖。我們只用了 PC1 與 PC2 兩個軸,就將 30 維的數據畫在了二維平面上。
- 觀察:藍色 (良性) 與 紅色 (惡性) 的點群在空間中出現了明顯的分界。
- 結論:這證明了即便大幅度降維,PCA 依然成功捕捉到了區分腫瘤性質的核心特徵。
圖 B:30 維數據投影至 2 維空間的視覺化
3. 主成分熱力圖 (Loading Heatmap)
這張圖解答了「主成分到底是什麼?」。
- 觀察:我們可以看到哪些原始特徵(如
mean concave points)在 PC1 中佔比很高。這讓我們知道,壓縮後的新維度其實是舊維度的「加權組合」。
圖 C:主成分與原始特徵的相關性分析
- 解讀指南:深紅色代表該特徵對主成分有強大的「正向貢獻」,深藍色則代表「負向影響」。
- 特徵提煉 (Feature Essence):
- PC1 (體積指標):我們觀察到
mean radius、mean perimeter與mean area呈現一致的深紅色。這代表 PC1 實際上提煉了腫瘤的 「尺寸大小」 資訊。 - PC2 (形狀指標):在
mean fractal dimension(分形維度) 權重較高,這代表 PC2 捕捉的是細胞邊緣的 「複雜程度」。
- PC1 (體積指標):我們觀察到
- 價值:這證明了 PCA 並非單純的資料壓縮,而是將 30 個雜亂的變數,重新定義為「大小」與「形狀」這類具備醫學解釋力的核心指標。
四、 總結:化繁為簡的藝術
- 解決維度災難:PCA 能有效減少運算量,並去除數據中的雜訊。
- 視覺化利器:如果沒辦法畫圖,就沒辦法診斷。PCA 是高維數據視覺化的首選工具。
- 預處理的首選:在進行 K-Means 分群或訓練複雜模型前,先用 PCA 「瘦身」,往往能得到更穩健的結果。
下一站,我們將運用矩陣分解的相同邏輯,進入串流媒體的神經中樞。從 PCA 的數學基礎跨越到「推薦系統實戰」,看看 Netflix 究竟是如何算出你今晚想看哪部電影的!