網站首頁 編程語言 正文
Confusion Matrix
在機器學習領域,混淆矩陣(confusion matrix),又稱為可能性表格或是錯誤矩陣。它是一種特定的矩陣用來呈現算法性能的可視化效果,通常是監督學習(非監督學習,通常用匹配矩陣:matching matrix)。
其每一列代表預測值,每一行代表的是實際的類別。這個名字來源于它可以非常容易的表明多個類別是否有混淆(也就是一個class被預測成另一個class)。
Example
假設有一個用來對貓(cats)、狗(dogs)、兔子(rabbits)進行分類的系統,混淆矩陣就是為了進一步分析性能而對該算法測試結果做出的總結。假設總共有 27 只動物:8只貓, 6條狗, 13只兔子。結果的混淆矩陣如下圖:
在這個混淆矩陣中,實際有 8只貓,但是系統將其中3只預測成了狗;對于 6條狗,其中有 1條被預測成了兔子,2條被預測成了貓。從混淆矩陣中我們可以看出系統對于區分貓和狗存在一些問題,但是區分兔子和其他動物的效果還是不錯的。所有正確的預測結果都在對角線上,所以從混淆矩陣中可以很方便直觀的看出哪里有錯誤,因為他們呈現在對角線外面。
Table of confusion
在預測分析中,混淆表格(有時候也稱為混淆矩陣),是由false positives,falsenegatives,true positives和true negatives組成的兩行兩列的表格。它允許我們做出更多的分析,而不僅僅是局限在正確率。準確率對于分類器的性能分析來說,并不是一個很好地衡量指標,因為如果數據集不平衡(每一類的數據樣本數量相差太大),很可能會出現誤導性的結果。例如,如果在一個數據集中有95只貓,但是只有5條狗,那么某些分類器很可能偏向于將所有的樣本預測成貓。整體準確率為95%,但是實際上該分類器對貓的識別率是100%,而對狗的識別率是0%。
對于上面的混淆矩陣,其對應的對貓這個類別的混淆表格如下:
假定一個實驗有 P個positive實例,在某些條件下有 N 個negative實例。那么上面這四個輸出可以用下面的偶然性表格(或混淆矩陣)來表示:
公式陳列、定義如下:
True positive(TP) |
eqv. with hit |
True negative(TN) |
eqv. with correct rejection |
False positive(FP) |
eqv. with false alarm, Type I error |
False negative(FN) |
eqv. with miss, Type II error |
Sensitivity?ortrue positive rate(TPR) eqv. with hit rate, recall |
TPR = TP/P = TP/(TP + FN) |
Specificity(SPC)ortrue negative rate(TNR) |
SPC = TN/N = TN/(FP + TN) |
Precision?orpositive prediction value(PPV) |
PPV = TP/(TP + FP) |
Negative predictive value(NPV) |
NPV = TN/(TN + FN) |
Fall-out?orfalse positive rate(FPR) |
FPR = FP/N = FP/(FP + TN) |
False discovery rate(FDR) |
FDR = FP/(FP + TP) = 1 - PPV |
Miss Rate orFalse Negative Rate(FNR) |
FNR = FN/P = FN/(FN + TP) |
Accuracy(ACC) |
ACC = (TP + TN)/(P + N) |
Preference
原文鏈接:https://blog.csdn.net/vesper305/article/details/44927047
相關推薦
- 2023-04-08 C#以太網Sockets服務器設計實現_C#教程
- 2022-08-29 React合成事件原理解析_React
- 2022-10-01 react使用useState修改對象或者數組的值無法改變視圖的問題_React
- 2022-03-19 android?Service基礎(啟動服務與綁定服務)_Android
- 2022-11-05 利用Go語言實現輕量級OpenLdap弱密碼檢測工具_Golang
- 2022-01-18 正則——16進制顏色
- 2022-05-25 <C++>搞明白構造函數和析構函數有這一篇就夠了
- 2022-11-09 React?錯誤邊界Error?Boundary使用示例解析_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支