精確率與召回率 是什麼?
Precision and Recall:精確率與召回率 的完整解釋
分類模型評估的核心指標:精確率衡量預測為正的樣本有多準確,召回率衡量實際為正的樣本被找回多少。
精確率(Precision)與召回率(Recall)是分類模型評估中最重要的兩個基礎指標,理解它們需要從混淆矩陣(Confusion Matrix)開始。
混淆矩陣的四個基本量
對於二元分類(正類 Positive / 負類 Negative):
- TP(True Positive,真正例):模型預測為正、實際也為正。
- FP(False Positive,假正例):模型預測為正、但實際為負(誤報,Type I Error)。
- TN(True Negative,真負例):模型預測為負、實際也為負。
- FN(False Negative,假負例):模型預測為負、但實際為正(漏報,Type II Error)。
精確率(Precision)
公式:Precision = TP / (TP + FP)
直觀含義:「模型說『這是正類』的時候,有多少次是對的?」
也稱為查準率或陽性預測值(Positive Predictive Value, PPV)。
召回率(Recall)
公式:Recall = TP / (TP + FN)
直觀含義:「所有實際的正類樣本,模型找出了幾個?」
也稱為靈敏度(Sensitivity)或真正例率(True Positive Rate, TPR)。
精確率與召回率的取捨
在給定模型下,改變分類閾值(Threshold)會影響精確率和召回率,且二者通常反向變動:
- 提高閾值(更保守地預測正類)→ 精確率↑,召回率↓(預測正類更謹慎,但漏掉更多真正的正類)。
- 降低閾值(更積極地預測正類)→ 召回率↑,精確率↓(找回更多正類,但也帶入更多誤報)。
這種取捨在不同業務場景中有不同的優先順序:
- 醫療癌症篩檢:寧可多查(假陽性),不能漏查(假陰性)→ 優先高召回率。
- 垃圾郵件偵測:寧可讓少數垃圾郵件漏網(低召回率),也不能把重要郵件誤判為垃圾(低精確率)→ 優先高精確率。
- 詐騙偵測:視漏報與誤報的業務代價決定。
F1 Score
當精確率和召回率都很重要時,常用 F1 Score 作為兩者的調和平均數(Harmonic Mean):
F1 = 2 × (Precision × Recall) / (Precision + Recall)
調和平均數相較算術平均數,對極端值更為懲罰:若精確率或召回率任一極低,F1 也會很低,即使另一個很高。
若希望給召回率更高的權重(業務上漏報代價更大),可使用 F_β Score:
F_β = (1 + β²) × (Precision × Recall) / (β² × Precision + Recall)
β > 1 時召回率權重更高,β < 1 時精確率權重更高。
多類別分類的擴展
多類別分類任務中,精確率和召回率需要對每個類別分別計算,再進行聚合:
- Macro 平均:對所有類別分別計算指標後取算術平均,對每個類別同等重視(即使某類很少見)。
- Micro 平均:將所有類別的 TP、FP、FN 全部加總後再計算,受樣本數多的類別影響更大。
- Weighted 平均:按各類別的樣本數量加權,適合類別不平衡場景。
PR 曲線(Precision-Recall Curve)
透過改變分類閾值從 0 到 1,在每個閾值計算對應的精確率和召回率,繪製成曲線。PR 曲線下面積(AUPRC)可作為模型整體性能的單一指標,在類別不平衡時比 ROC-AUC 更具區分力,因為 PR 曲線不受大量真負例(TN)的影響。
與準確率(Accuracy)的比較
準確率 = (TP + TN) / (TP + TN + FP + FN),衡量所有樣本中被正確分類的比例,簡單直觀但不適合不平衡資料(見類別不平衡條目)。精確率和召回率專注於正類,不受大量負類的稀釋,是不平衡分類任務的常用選擇評估維度。