什麼是準確率計算器?
準確率(Accuracy)是評估分類模型最常用的指標之一。它衡量模型在所有預測中「答對」的比例——包含正確判斷為正類,以及正確判斷為負類兩種情況。這個計算器能把混淆矩陣的四個格子,直接換算成準確率,並同時以比值與百分比兩種形式呈現。
如何使用
請從你的混淆矩陣中輸入以下四個數值:
- TP(真陽性,True Positives)——實際為正類,且正確預測為正類的樣本數。
- TN(真陰性,True Negatives)——實際為負類,且正確預測為負類的樣本數。
- FP(偽陽性,False Positives)——實際為負類,卻被誤判為正類的樣本數。
- FN(偽陰性,False Negatives)——實際為正類,卻被誤判為負類的樣本數。
計算器會自動算出準確率。手邊沒有工具?只要把這四個數字相加,再套用下方公式即可。
公式解析
準確率 =(TP + TN)/(TP + TN + FP + FN)。分子是所有預測正確的樣本數,分母則是預測的總樣本數。將結果乘以 100,就能換算成百分比。
$$\text{Accuracy} = \dfrac{TP + TN}{TP + TN + FP + FN}$$
$$\text{Accuracy \%} = \text{Accuracy} \times 100$$
實例演算
假設某模型的結果為 TP = 80、TN = 70、FP = 20、FN = 30。正確預測數 \(= 80 + 70 = 150\);總數 \(= 80 + 70 + 20 + 30 = 200\)。準確率 $$\text{Accuracy} = \dfrac{150}{200} = 0.75$$ 也就是 75%。
不同場景下的準確度
相同的準確度公式 \(\text{準確度} = \frac{\text{真正例} + \text{真負例}}{\text{真正例} + \text{真負例} + \text{假正例} + \text{假負例}} \times 100\%\) 可能隱藏非常不同的模型行為。下面的場景每個都使用總共 100 個案例,因此百分比可以直接比較。
| 場景 | 真正例 | 真負例 | 假正例 | 假負例 | 準確度 |
|---|---|---|---|---|---|
| 均衡資料集,優質模型 | 45 | 45 | 5 | 5 | 90% |
| 不均衡,多數為負例(罕見疾病) | 2 | 93 | 2 | 3 | 95% |
| 「總是預測為負例」基準線 | 0 | 95 | 0 | 5 | 95% |
| 高假正例(過度標記) | 48 | 22 | 28 | 2 | 70% |
| 高假負例(遺漏的正例) | 20 | 50 | 0 | 30 | 70% |
關鍵要點是第二行和第三行的比較:一個只預測多數類的模型得分與實際檢測到一些正例的模型相同,都是 95%。在均衡資料集上(第 1 行),準確度要有資訊得多。最後兩行表明,兩個具有相同 70% 準確度的模型可能以相反的、互不相容的方式失敗 —— 一個充滿了假警報,另一個則悄悄遺漏正例。
解釋您的準確度分數
準確度是分類器正確預測的所有預測的比例 —— 包括正例和負例。90% 的準確度意味著每 10 個案例中有 9 個被正確標記,相應的誤差率是 \(100\% - 90\% = 10\%\)。這很直觀易於溝通,這正是為什麼它經常被誤讀的原因。
始終與無資訊基準線進行比較。最誠實的合理性檢查是多數類基準線:通過總是猜測最常見類別而獲得的準確度。如果您 95% 的案例是負例,一個盲目預測「負例」的分類器已經達到 95% 的分數。真正的模型必須超過該基準線才有價值 —— 在 50/50 分割上 95% 的準確度令人印象深刻,在 95/5 分割上則一文不值。
何時高準確度會產生誤導。在高度不均衡的資料上,準確度由多數類主導。詐欺檢測器、罕見疾病篩檢工具或缺陷檢測器可以報告 99% 的準確度,同時幾乎捕獲不了實際上重要的罕見正例。在這些情況下,假負例和假正例的成本通常非常不同,單一的整體百分比無法反映這一點。
補充準確度的指標:
- 精確度 —— 在預測為正的案例中,有多少真的是正例:\(\text{真正例}/(\text{真正例}+\text{假正例})\)。當假正例代價高時使用。
- 召回率(靈敏度) —— 在實際正例中,您捕獲了多少:\(\text{真正例}/(\text{真正例}+\text{假負例})\)。當遺漏正例代價高時使用。
- 特異度 —— 在實際負例中,您正確清除了多少:\(\text{真負例}/(\text{真負例}+\text{假正例})\)。
- F1 分數 —— 精確度和召回率的調和平均值,一個在正例類上平衡兩者的單一數字。
- 平衡準確度 —— 靈敏度和特異度的平均值,這在類別不平衡時進行更正,是類別不平衡時更好的主要數字。
對於上面的均衡示例(真正例=45,假正例=5,假負例=5),召回率和精確度都是 \(45/50 = 90\%\),所以準確度、精確度和召回率一致 —— 這是資料集均衡的跡象。當它們差異很大時,相信各類指標而不是單一的準確度數字。這是一般性的技術資訊,不是對您特定問題進行領域特定評估的替代品。
定義與詞彙表
- 真正例(真正例)
- 分類器正確預測為正例的正例案例(例如,一個患病患者被標記為患病)。
- 真負例(真負例)
- 分類器正確預測為負例的負例案例(例如,一個健康患者被清除為健康)。
- 假正例(假正例)
- 被錯誤預測為正例的負例案例 —— 假警報。也稱為第一類錯誤。
- 假負例(假負例)
- 被錯誤預測為負例的正例案例 —— 遺漏。也稱為第二類錯誤。
- 混淆矩陣
- 一個 2×2 表格,交叉制表預測與實際類別,真正例、真負例、假正例和假負例作為其四個單元格。它是幾乎所有分類指標的來源。
- 準確度
- 正確預測的比例:\((\text{真正例}+\text{真負例})/(\text{真正例}+\text{真負例}+\text{假正例}+\text{假負例})\),通常以百分比表示。
- 誤差率
- 錯誤預測的比例:\((\text{假正例}+\text{假負例})/(\text{真正例}+\text{真負例}+\text{假正例}+\text{假負例}) = 1 - \text{準確度}\)。
- 精確度
- 正預測值:\(\text{真正例}/(\text{真正例}+\text{假正例})\) —— 正預測的可信度。
- 召回率
- 靈敏度或真正例率:\(\text{真正例}/(\text{真正例}+\text{假負例})\) —— 找到了多少實際正例。
- 特異度
- 真負例率:\(\text{真負例}/(\text{真負例}+\text{假正例})\) —— 正確識別了多少實際負例。
- F1 分數
- 精確度和召回率的調和平均值:\(2 \cdot \frac{\text{精確度} \cdot \text{召回率}}{\text{精確度} + \text{召回率}}\),正例類績效的單一平衡度量。
常見問題
準確率一定是好的指標嗎?不一定。在資料不平衡的情況下(例如 95% 的樣本都是負類),模型只要一律預測為多數類別,就能得到很高的準確率。建議同時檢視精確率(Precision)、召回率(Recall)與 F1 分數。
準確率的數值範圍是多少?介於 0(全部預測錯誤)到 1(全部預測正確)之間,換算成百分比即 0%~100%。
能用在多分類問題嗎?可以。此時把 TP + TN 視為所有類別中被正確分類的樣本總數,分母則是全部樣本數。