不平衡資料集中,哪種做法最不適合提升少數類預測?
某醫療機構開發疾病早期偵測模型,正樣本(確診病例)僅佔 3%。在模型訓練與評估過程中,下列哪一種作法最不適合用於提升對少數類病例的預測能力?
一個醫療機構的疾病偵測模型面臨嚴重的資料不平衡:確診病例只有 3%,非確診佔 97%。題目列出四種可能的處理策略,其中三種有助於讓模型更能辨識少數類(確診病例),一種反而幫倒忙。
問你:哪一種做法最不適合用來提升模型對少數類(確診病例)的預測能力?
一句話總結
在嚴重不平衡資料(確診病例僅 3%)的疾病偵測任務中,使用準確率(Accuracy)作為評估指標是最不適合的做法:模型只要把所有人都預測為「未確診」,就能達到 97% 的準確率,但完全沒有找到任何確診病例,形成「高分低能」的假象。
先感受問題:97% 準確率的模型,卻一個病患都找不到
「長安醫院」開發一個罕見疾病早期偵測系統,用 10000 筆病歷訓練:9700 人未確診(97%),300 人確診(3%)。
工程師小莉用準確率(Accuracy)來評估模型的好壞。她驚訝地發現:
- 模型 A:把所有人都預測為「未確診」。準確率 = 9700 / 10000 = 97%。但它一個真正的病患都沒找到。
- 模型 B:準確率 80%,但把 260 個確診病患正確找出來了(Recall = 87%)。
如果用準確率作為評估指標,模型 A「贏了」,但它根本沒有任何醫療價值。準確率在嚴重不平衡資料集下是一個完全失效的指標,繼續用它只會誤導整個訓練方向。
準確率在不平衡資料集下的問題
- 多數類佔主導,少數類被淹沒:當 97% 資料是負例,模型只要學會「什麼都說負例」就能得到 97% 準確率,少數類的預測能力完全不被評估到。
- 無法反映 Recall(召回率)的下降:疾病偵測最重要的是「找到病患的比例」(Recall),準確率完全不反映 Recall,即使 Recall = 0 也能有高準確率。
- 優化方向被誤導:如果用準確率做損失函數的基礎,模型會學習「優化多數類的預測準確度」,因為這對整體準確率貢獻更大。少數類樣本的錯誤被視為「小問題」,模型不會努力改善它。
- 難以比較不同模型的少數類預測能力:模型 A(Accuracy 97%,但 Recall 0%)和模型 B(Accuracy 80%,但 Recall 87%),準確率更高的 A 反而更差,準確率作為指標無法揭示這個事實。
- 誤導決策者對模型效能的判斷:醫院管理層看到「準確率 97%」可能誤以為模型很好,實際上模型對疾病偵測毫無用處,可能帶來嚴重的醫療後果。
為什麼準確率在這裡是最不適合的
小莉把評估指標換成 F1 分數(兼顧 Precision 和 Recall)和 AUC-ROC(評估整體排序能力),模型的訓練方向立刻改變:它開始努力找出那 3% 的確診病患,而不是聰明地把所有人都預測為未確診。
對比其他三個選項:SMOTE 過採樣(合成少數類新樣本)、調整類別權重(讓少數類的錯誤代價更高)、欠採樣多數類(減少多數類樣本數量),這三個都是真正有助於提升少數類預測能力的做法。
這就是為什麼選項 C 最不適合:使用準確率(Accuracy)作為評估指標不只沒有幫助,還會積極誤導模型訓練,讓它朝相反的方向優化。
技術版:不平衡資料集的處理策略與正確的評估指標選擇
資料不平衡(Data Imbalance)是機器學習實務中極常見的問題,尤其在醫療、詐欺偵測、設備故障預測等領域,少數類往往才是最重要的預測目標。
常見的不平衡處理策略(三個有效做法):
- SMOTE(Synthetic Minority Over-sampling Technique)過採樣:用插值法在少數類樣本之間生成新的合成樣本,增加少數類的訓練樣本數,讓模型有更多機會學習少數類的特徵。
- 調整類別權重(Class Weight Adjustment):在損失函數中為少數類樣本賦予更高的權重,讓模型對少數類的錯誤「付出更大代價」,迫使它更努力學習少數類。Sklearn 中設定 class_weight='balanced' 即可自動計算。
- 欠採樣多數類(Undersampling):隨機或智慧地減少多數類樣本數量,讓兩個類別的比例更平衡。最簡單的是隨機欠採樣,進階方法有 Tomek Links(移除邊界附近的多數類樣本)。缺點是會丟失多數類的資訊。
不平衡資料集應使用的評估指標:
- F1 分數:兼顧 Precision 和 Recall,適合需要在「不誤報」和「不漏報」之間平衡的場景。
- Recall(召回率):在「漏報代價遠大於誤報」的醫療場景,Recall 往往是最重要的指標。
- AUC-ROC / AUC-PRC:評估所有閾值下的整體辨別力,AUC-PRC(Precision-Recall Curve 下面積)在嚴重不平衡時比 AUC-ROC 更有區辨力。
- 準確率(Accuracy):在不平衡資料集下完全失效,NEVER 單獨使用。
為什麼出題者要考這題:不平衡資料是中級考試的高頻考點,既考驗應試者對各種過採樣/欠採樣方法的了解,也考驗對準確率這個「最常被誤用的指標」的正確認識。
為什麼其他三個選項是「有效的做法」(不是答案)
A使用 SMOTE 過採樣
SMOTE 透過在少數類樣本之間插值,生成合成的新樣本,增加少數類的代表性。
SMOTE 是一個有效的不平衡處理方法。它讓模型訓練時看到更多少數類樣本,有助於學習少數類的特徵邊界,通常能顯著提升 Recall 和 F1。選這個表示此選項是「有效的做法」,不是「最不適合」的選項。
認為「人工生成的假樣本不真實,所以反而有害」的人。SMOTE 確實有局限性(生成樣本可能不真實、在高維度資料上效果有限),但它的方向是正確的——增加少數類的訓練資料,是有效的做法之一。
B調整類別權重
在損失函數中,讓少數類樣本的錯誤比多數類樣本的錯誤付出更大的代價,迫使模型更關注少數類。
調整類別權重是處理不平衡資料最常用、最簡單的方法之一,在 Sklearn 中一行 class_weight='balanced' 即可實現。它直接影響損失函數的計算,讓模型的優化目標向少數類傾斜,通常能有效提升少數類的 Recall,是有效的做法。
對「調整類別權重」陌生,不確定它是否真的有效的人。這是一個成熟且有理論依據的方法,廣泛用於各種不平衡分類任務。
D欠採樣多數類
從多數類(非確診,97%)中隨機移除一部分樣本,讓資料集更平衡。
欠採樣多數類雖然有「丟失多數類資訊」的缺點,但它的作用方向是正確的:讓訓練資料中少數類的比例提高,模型不得不學習少數類的特徵,有助於提升少數類的預測能力。缺點是多數類的樣本多樣性降低,但這是準確率和少數類召回率之間的取捨,不是「最不適合」。
認為「刪掉資料一定不好」的人。欠採樣確實會丟失資訊,但在嚴重不平衡的場景下,這個代價通常是值得的。「最不適合」的是準確率(評估指標),不是欠採樣(資料處理策略)。
同個考點下次怎麼變形
不平衡資料集下,哪個指標比準確率更適合?
準確率不適合,那用什麼指標?
F1 分數(兼顧 Precision 和 Recall)、AUC-ROC(所有閾值下的整體辨別力)、AUC-PRC(Precision-Recall Curve 下面積,比 AUC-ROC 在嚴重不平衡時更有鑑別力),以及根據業務需求直接最大化 Recall(醫療場景漏診代價最高)。絕對不要用 Accuracy 作為主要評估指標。
SMOTE 和隨機過採樣(Random Oversampling)的差別是什麼?
最簡單的過採樣就是把少數類重複複製,SMOTE 有什麼不一樣?
隨機過採樣直接複製少數類樣本,不增加新資訊,容易讓模型過擬合到那幾個重複的少數類樣本上。SMOTE 在兩個少數類最近鄰之間插值,生成「新的、介於已知少數類樣本之間」的合成樣本,提供更豐富的少數類資訊,讓決策邊界更平滑,通常比隨機過採樣泛化效果更好。
如果 Accuracy = 97% 但 Recall = 0%,這個模型有什麼問題?
97% 的準確率聽起來不錯,為什麼說它有問題?
這是「空分類器(Null Classifier)」的極端案例:模型把所有樣本都預測為多數類(非確診),不需要任何學習能力就能達到 97% 準確率。Recall = 0% 代表所有真正確診的病患都被漏掉了,模型完全沒有找到任何有價值的資訊。在醫療場景,這等於讓所有病患都沒被診斷出來,是完全無用的模型,甚至有害(讓醫療機構誤以為系統有效)。
過採樣和欠採樣可以同時使用嗎?
過採樣增加少數類,欠採樣減少多數類,能不能兩種一起做?
可以,這叫「組合採樣(Combined Sampling)」。例如 SMOTE + Tomek Links:先用 SMOTE 增加少數類合成樣本,再用 Tomek Links 移除多數類中和少數類邊界模糊的樣本,讓兩類的邊界更清晰。實務上,組合策略通常比單獨使用一種方法效果更好,但需要更多的調校工作。
閾值調整(Threshold Adjustment)如何幫助不平衡分類?
除了資料層面的處理,有沒有什麼在模型層面的方法可以提升少數類預測?
分類模型輸出的是機率,預設閾值是 0.5(機率大於 0.5 就預測為正例)。在不平衡場景下,降低閾值(如 0.3)可以讓模型對少數類更「敏感」:更多樣本會被預測為正例,Recall 提升但 Precision 下降。Precision-Recall 曲線可以幫助選擇最佳閾值,根據業務對「漏報」和「誤報」的容忍度來決定。不需要重新訓練模型,只是調整預測規則。
想再往下看,這 5 個
- 資料不平衡(Data Imbalance)本題核心背景,指訓練資料中各類別樣本數差異極大,是醫療、詐欺偵測等場景的常見挑戰。
- 準確率(Accuracy)在不平衡資料集下失效的評估指標,是本題「最不適合」的正確答案,理解它為何失效是本題的核心考點。
- 召回率(Recall)不平衡分類最重要的評估指標之一,衡量所有真實正例中被模型找到的比例,是準確率的替代指標。
- F1 Score(F1 分數)兼顧 Precision 和 Recall 的評估指標,是不平衡資料集下優先使用的綜合指標,比準確率更能反映少數類的預測效果。
- 資料擴增術(Data Augmentation)廣義的資料擴增概念涵蓋 SMOTE 等過採樣方法,透過生成新樣本增加少數類的代表性。