混淆矩陣計算器 - 分類指標
用準確率、精確率、召回率、F1 與 MCC 分析分類表現
輸入混淆矩陣數值,即可計算準確率、精確率、召回率、特異度、F1 分數等二元分類分析的效能指標。
混淆矩陣計算器 - 分類指標
用準確率、精確率、召回率、F1 與 MCC 分析分類表現
關於混淆矩陣計算器
混淆矩陣是一個 2×2 表格,透過統計四種結果的數量來概括二元分類模型的表現:真正例 (TP)、假正例 (FP)、真負例 (TN) 與假負例 (FN)。根據這四個數字,可以推導出一組豐富的效能指標,每個指標都從不同面向衡量分類器的行為。
真正例 (TP) 是模型正確預測為正類的案例。假正例 (FP) 是模型預測為正,但真實標籤為負——也稱為第一類錯誤。真負例 (TN) 是正確的負類預測。假負例 (FN) 是模型漏掉了正類——也稱為第二類錯誤。
由混淆矩陣可得出的關鍵指標包括:
• 準確率 = (TP + TN) / 總數 —— 所有預測中正確的比例。容易理解,但在類別不平衡的資料集上可能具有誤導性。
• 精確率(陽性預測值)= TP / (TP + FP) —— 在所有被預測為正的樣本中,真正為正的比例。精確率高代表誤報少。
• 召回率(靈敏度、真正率)= TP / (TP + FN) —— 在所有真實正樣本中,被成功識別的比例。召回率高代表漏報少。
• 特異度(真負率)= TN / (TN + FP) —— 在所有真實負樣本中,被正確識別的比例。在醫療篩檢中特別重要。
• F1 分數 = 2 × (精確率 × 召回率) / (精確率 + 召回率) —— 精確率與召回率的調和平均,用來平衡這兩個指標。類別不平衡時很有用。
• 馬修斯相關係數 (MCC) = (TP×TN − FP×FN) / √((TP+FP)(TP+FN)(TN+FP)(TN+FN)) —— 一個平衡性很強的指標,綜合考量混淆矩陣的四個格子。取值範圍從 −1(完全不一致)到 +1(完全一致),0 表示隨機表現。
選擇哪個指標取決於你的問題。對於詐欺偵測,召回率至關重要(絕不能漏掉詐欺)。對於垃圾郵件過濾,精確率更重要(不要封鎖正常郵件)。對於罕見疾病篩檢,召回率與特異度都很關鍵。當類別不平衡時,MCC 和 F1 分數通常比只看準確率更有參考價值。
範例
下表顯示混淆矩陣輸入及其對應的效能指標。
| TP、FP、TN、FN | 關鍵指標 | 模型類型 |
|---|---|---|
| TP=92, FP=8, TN=88, FN=12 | 準確率=90%, F1=0.9020, MCC=0.801 | 平衡良好、效能高的模型 |
| TP=45, FP=5, TN=95, FN=25 | 準確率=82.35%, 精確率=90%, 召回率=64.29% | 高精確率、保守型預測 |
| TP=85, FP=30, TN=70, FN=10 | 準確率=79.5%, 召回率=89.5%, 特異度=70% | 高召回率、敏感型模型 |
| TP=48, FP=12, TN=188, FN=2 | 準確率=94%, 靈敏度=96%, 特異度=94% | 醫療診斷測試——高靈敏度 |
如何使用混淆矩陣計算器
- 輸入真正例 (TP) 數量:模型正確預測為正類的樣本數。
- 輸入假正例 (FP):模型預測為正,但真實標籤為負(第一類錯誤)。
- 輸入真負例 (TN):正確的負類預測,以及假負例 (FN):漏掉的正類(第二類錯誤)。
- 點擊「計算指標」即可立即計算準確率、精確率、召回率、特異度、F1 分數、MCC、NPV、FPR 與 FNR。
- 使用快速載入範例按鈕,查看平衡模型、高精確率模型與醫療測試等預設情境。
常見問題
精確率和召回率有什麼差別?
精確率回答的是「在所有被預測為正的樣本中,有多少是正確的?」,而召回率回答的是「在所有真實正樣本中,模型找到了多少?」。精確率高表示假正例少(模型在判定為正時較謹慎);召回率高表示假負例少(模型很少漏掉真正例)。兩者通常存在取捨,由決策閾值控制。
為什麼準確率不一定是最佳指標?
在類別不平衡的資料集中,準確率可能會誤導人。例如,如果只有 1% 的交易是詐欺交易,那麼一個永遠預測「非詐欺」的模型可以達到 99% 的準確率,但卻偵測不到任何詐欺案例。在這種情況下,精確率、召回率、F1 分數或 MCC 能更真實地反映模型表現。
什麼是馬修斯相關係數 (MCC)?
MCC 是一個單一且平衡的指標,會考量混淆矩陣的四個格子(TP、FP、TN、FN)。它的取值範圍為 −1 到 +1,其中 +1 代表完美預測,0 代表不優於隨機,−1 代表完全相反。MCC 被視為二元分類中最有資訊量的指標之一,尤其適用於類別不平衡的資料集,因為它不會被嚴重的類別偏斜放大。
特異度衡量什麼,什麼時候重要?
特異度(真負率)= TN / (TN + FP),衡量模型在真實負樣本中避免假正例的能力。在醫療篩檢中特別重要:高特異度測試可以盡量減少把健康人誤判為患病的人數,降低不必要的後續檢查與病患焦慮。靈敏度(召回率)和特異度共同定義 ROC 曲線。
F1 分數和精確率、召回率有什麼關係?
F1 分數是精確率和召回率的調和平均:F1 = 2 × (P × R) / (P + R)。調和平均確保只要精確率或召回率其中之一很低,F1 也會很低——你不能透過犧牲其中一個來獲得高 F1。F1 的範圍是 0(最差)到 1(最好),當你需要同時平衡假正例和假負例時,它是最常用的單一指標。
醫療測試中的靈敏度和特異度有什麼差別?
靈敏度(召回率)是測試正確辨識患病患者的機率:TP / (TP + FN)。高靈敏度測試會漏掉很少的病人,因此適合用來排除疾病。特異度是測試正確辨識健康人的機率:TN / (TN + FP)。高特異度測試會產生很少的假正例,因此適合用來確認疾病。大多數診斷測試都存在兩者之間的取捨,這種關係由 ROC 曲線表示。