混淆矩阵Confusion Matrix概念分析翻译

作者:vesper305 时间:2022-07-05 15:08:56 

Confusion Matrix

在机器学习领域,混淆矩阵(confusion matrix),又称为可能性表格或是错误矩阵。它是一种特定的矩阵用来呈现算法性能的可视化效果,通常是监督学习(非监督学习,通常用匹配矩阵:matching matrix)。

其每一列代表预测值,每一行代表的是实际的类别。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)。

Example

假设有一个用来对猫(cats)、狗(dogs)、兔子(rabbits)进行分类的系统,混淆矩阵就是为了进一步分析性能而对该算法测试结果做出的总结。假设总共有 27 只动物:8只猫, 6条狗, 13只兔子。结果的混淆矩阵如下图:

混淆矩阵Confusion Matrix概念分析翻译

在这个混淆矩阵中,实际有 8只猫,但是系统将其中3只预测成了狗;对于 6条狗,其中有 1条被预测成了兔子,2条被预测成了猫。从混淆矩阵中我们可以看出系统对于区分猫和狗存在一些问题,但是区分兔子和其他动物的效果还是不错的。所有正确的预测结果都在对角线上,所以从混淆矩阵中可以很方便直观的看出哪里有错误,因为他们呈现在对角线外面。

Table of confusion

在预测分析中,混淆表格(有时候也称为混淆矩阵),是由false positives,falsenegatives,true positives和true negatives组成的两行两列的表格。它允许我们做出更多的分析,而不仅仅是局限在正确率。准确率对于分类器的性能分析来说,并不是一个很好地衡量指标,因为如果数据集不平衡(每一类的数据样本数量相差太大),很可能会出现误导性的结果。例如,如果在一个数据集中有95只猫,但是只有5条狗,那么某些分类器很可能偏向于将所有的样本预测成猫。整体准确率为95%,但是实际上该分类器对猫的识别率是100%,而对狗的识别率是0%。

对于上面的混淆矩阵,其对应的对猫这个类别的混淆表格如下:

混淆矩阵Confusion Matrix概念分析翻译

假定一个实验有 P个positive实例,在某些条件下有 N 个negative实例。那么上面这四个输出可以用下面的偶然性表格(或混淆矩阵)来表示:

混淆矩阵Confusion Matrix概念分析翻译

公式陈列、定义如下:

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

标签:混淆矩阵,Confusion,Matrix
0
投稿

猜你喜欢

  • python使用openpyxl库读写Excel表格的方法(增删改查操作)

    2021-11-29 01:22:43
  • 如何实现SQL Server 2005快速Web分页

    2009-01-21 14:51:00
  • vscode配置与python虚拟环境切换的几种方式总结

    2023-09-04 07:09:28
  • JavaScript解决Joseph问题

    2008-06-21 17:11:00
  • 3个用于数据科学的顶级Python库

    2022-09-25 15:26:45
  • pycharm中import导入包呈现灰色的问题及解决

    2023-10-03 23:12:10
  • sqlserver 查询数据库大小的方法

    2012-08-21 10:22:10
  • 网页设计中的对比原则与接近性原则

    2010-03-30 14:51:00
  • 利用Python yagmail三行代码实现发送邮件

    2021-10-16 08:39:04
  • Python真题案例之错位键盘 单词长度 字母重排详解

    2023-03-18 02:57:26
  • python timestamp和datetime之间转换详解

    2021-02-07 11:17:51
  • 在Pytorch中计算卷积方法的区别详解(conv2d的区别)

    2021-02-12 01:01:03
  • 网页新窗口打开好不好,数据说话

    2008-05-31 17:01:00
  • 10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径

    2023-10-16 08:05:00
  • Python爬取百度翻译实现中英互译功能

    2023-04-29 08:32:26
  • Python实现简单拆分PDF文件的方法

    2022-09-27 19:20:37
  • 使用Python绘制图表大全总结

    2022-08-09 20:35:27
  • Python+Django+MySQL实现基于Web版的增删改查的示例代码

    2023-11-20 02:09:06
  • Python快速优雅的批量修改Word文档样式

    2022-09-23 19:28:22
  • 使用Python编写简单的端口扫描器的实例分享

    2023-07-20 20:18:32
  • asp之家 网络编程 m.aspxhome.com