混淆矩阵

原创 2018年04月15日 22:15:50

一:混淆矩阵(引自qq_28448117的博客

监督学习—混淆矩阵

非监督学习—匹配矩阵

这里写图片描述

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

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

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

二:混淆表格

在预测分析中,混淆表格(有时候也称为混淆矩阵),是由false positives,falsenegatives,true positives和true negatives组成的两行两列的表格。它允许我们做出更多的分析,而不仅仅是局限在正确率,对于上面的矩阵,可以表示为下面的表格

这里写图片描述

查准率 = 精度 = precision

查全率 = 召回率 = recall

这里写图片描述

三、对于FN FP TN TP 的解释

precesion:查准率,即在检索后返回的结果中,真正正确的个数占整个结果的比例。
recall:查全率,即在检索结果中真正正确的个数 占整个数据集(检索到的和未检索到的)中真正正确个数的比例。

FN:False Negative,被判定为负样本,但事实上是正样本。
FP:False Positive,被判定为正样本,但事实上是负样本。
TN:True Negative,被判定为负样本,事实上也是负样本。
TP:True Positive,被判定为正样本,事实上也是证样本。

这里的正样本和负样本与检索的关系就是:你认为为正样本的应该都出现在检索结果中,而你认为为负样本的应该不出现在检索结果中,但是你认为的和事实上的会有不一样。

这里的四个缩写曾经一度让我很难记住,经过细想,发现这样比较好记忆:把缩写分为两个部分,第一个字母(F,T)和第二个字母(P,N)。首先搞清楚第二个字母,即它是你认为该样本的归属应该是怎样(Positive or Negative);第一个字母即是对你的判断进行的评价(False or True)。这里也许中文可能会有不好理解的地方,所以我想用英文来描述,可能更清晰:第二个字母:What’s your judgement about the sample?;第一个字母:Is your judgement right(true) or not(false)?

那么有:
precesion = TP/(TP+FP) 即,检索结果中,都是你认为应该为正的样本(第二个字母都是P),但是其中有你判断正确的和判断错误的(第一个字母有T ,F)。

recall = TP/(TP+FN)即,检索结果中,你判断为正的样本也确实为正的,以及那些没在检索结果中被你判断为负但是事实上是正的(FN)。

四、精确率和召回率是不是容易混淆呢?原文链接

实际上非常简单,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是而召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。

举个栗子:
假设我们手上有60个正样本,40个负样本,我们要找出所有的正样本,系统查找出50个,其中只有40个是真正的正样本,计算上述各指标。

TP: 将正类预测为正类数 40
FN: 将正类预测为负类数 20
FP: 将负类预测为正类数 10
TN: 将负类预测为负类数 30

准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 70%
精确率(precision) = TP/(TP+FP) = 80%
召回率(recall) = TP/(TP+FN) = 2/3

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37037492/article/details/79954061

MFC浅析(6) 对话框数据交换及验证

对话框数据交换及验证
  • FMD
  • FMD
  • 2001-06-16 13:11:00
  • 2317

混淆矩阵理解

一个完美的分类模型是,将实际上是good的实例预测成good,将bad的实例预测称bad。对于实际应用中的分类模型,可能预测错误实例类型,因此我们需要知道到底预测对了多少实例,预测错了多少实例。混淆矩...
  • u010159842
  • u010159842
  • 2016-11-08 16:05:40
  • 2886

分类器性能评估之混淆矩阵(1)

跑完分类模型(Logistic回归、决策树、神经网络等),我们经常面对一大堆模型评估的报表和指标,如Confusion Matrix、ROC、Lift、Gini、K-S之类(这个单子可以列很长),往往...
  • Xw_Classmate
  • Xw_Classmate
  • 2016-05-06 20:45:05
  • 1259

绘制混淆矩阵程序

  • 2013年12月02日 14:03
  • 50KB
  • 下载

混淆矩阵(Confusion Matrix)

混淆矩阵(Confusion Matrix): 在图像精度评价中,主要用于比较分类结果和实际测得值,可以把分类结果的精度显示在一个混淆矩阵里面。混淆矩阵是通过将每个实测像元的位置和分类与分类图像中的...
  • wuzuyu365
  • wuzuyu365
  • 2016-10-28 16:34:31
  • 551

机器学习笔记十五:分类问题的性能度量(混淆矩阵,正确率,召回率,ROC,AUC)

分类问题的性能度量
  • xierhacker
  • xierhacker
  • 2017-04-28 20:34:21
  • 4231

影像信息提取之-----混淆矩阵计算

查阅相关的资料,也没有得到土地利用类型转换矩阵确切的定义,我们理解为不同时间段内同一区域内土地利用类型的相互转换关系,其实本质就是遥感动态监测中的分类后比较方法,一般用二维表和图像来表达: l  二维...
  • lijie45655
  • lijie45655
  • 2015-10-15 19:58:43
  • 2045

神奇的excel:在excel中画混淆矩阵

在excel中画混淆矩阵的流程如下所示: 1、将混淆矩阵中的数据输入到excel表格中 2、选中该表格,2010版excel中,开始--->样式--->条件格式--->新建规则,按下图所示设置,设置完...
  • liuxiabing150
  • liuxiabing150
  • 2015-05-26 21:01:54
  • 2560

简单理解混淆矩阵

混淆矩阵(confusion matrix)刻画一个分类器的分类准确程度。“混淆”一词也形象地表达了分类器面对多个分类时可能造成的混淆。     实际值     样本总数 ...
  • songchaomail
  • songchaomail
  • 2015-02-15 13:57:32
  • 5358

利用matlab画混淆矩阵(confusion matrix)

写论文的过程中经常需要画一个混淆矩阵(confusion matrix)来验证分类结果的有效性。通常只需要两个步骤: - 保存混淆矩阵文本文件 - matlab中使用imagesc命令例如:>...
  • Cheese_pop
  • Cheese_pop
  • 2017-10-11 20:18:08
  • 1782
收藏助手
不良信息举报
您举报文章:混淆矩阵
举报原因:
原因补充:

(最多只允许输入30个字)