混淆矩阵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 爬取13个旅游城市,告诉你五一大家最爱去哪玩?

    2022-05-22 08:39:32
  • 通俗解释JavaScript正则表达式快速记忆

    2024-04-22 22:24:04
  • js实现点击图片自动提交action的简单方法

    2024-04-29 14:07:21
  • 基于JS实现十种酷炫的网页特效

    2024-04-17 09:56:53
  • 是时候不用考虑基于字体大小(em)的设计了

    2009-10-24 13:25:00
  • 解决pandas无法在pycharm中使用plot()方法显示图像的问题

    2021-06-02 21:23:14
  • window.open被浏览器拦截后的自定义提示

    2007-11-23 12:31:00
  • webstorm添加vue.js支持的方法教程

    2024-04-30 10:16:14
  • Python容器使用的5个技巧和2个误区总结

    2023-04-09 04:37:01
  • Python ORM框架SQLAlchemy学习笔记之关系映射实例

    2022-06-22 23:39:04
  • python 显示数组全部元素的方法

    2021-03-20 13:15:01
  • python dict remove数组删除(del,pop)

    2022-11-17 05:24:03
  • 五个常用MySQL图形化管理工具

    2012-01-05 18:49:16
  • 详解Python核心编程中的浅拷贝与深拷贝

    2021-05-04 15:44:09
  • 在Python安装MySQL支持模块的方法

    2024-01-24 06:58:52
  • Django修改app名称和数据表迁移方案实现

    2022-12-14 17:09:11
  • mysql 备份与迁移 数据同步方法

    2024-01-13 14:19:26
  • php截取字符串函数分享

    2023-11-14 10:53:21
  • mysql创建数据库,添加用户,用户授权实操方法

    2024-01-14 18:16:58
  • php中支持多种编码的中文字符串截取函数!

    2023-09-27 02:08:15
  • asp之家 网络编程 m.aspxhome.com