多分类问题中每一类的Precision-Recall Corve曲线以及ROC的Matlab画法

转载 2013年12月01日 21:37:46

转载来自:http://www.zhizhihu.com/html/y2010/2447.html


这两天写论文中,本来设计的是要画这个Precision-Recall Corve的,因为PRC是从信息检索中来的,而且我又做的类似一个检索,所以要画这个图,但是我靠,竟然发现不好画,找了很多资料等。最后也没画好,多么重要好看实用的图啊,可惜了。

今天就花了一点功夫,专门为自己弄了个工具包,用来计算多分类问题中的Precision-Recall Corve、混淆矩阵Confusion Matrix并且进行可视化输出。

不过Precision-Recall Corve对于每一类的画法还是很有讲究的,我们知道对于二类问题,像是检索中的问题,最后的查全率、查准率基本都是最后计算一对值就行了,但是就一对值,一个点是画不出曲线来的,所以在实际的曲线过程中,是这样的:

1、首先得分为正负两类,多类问题真对每一类都可以映射过去

2、按照决策值(分类问题每一个样本肯定会有一个支持分类的概率或者置信度等等,像是libsvm的dec_values的矩阵),按照从小到大的顺序进行排序

3、然后分别计算全部样本、全本样本-1、全部样本-2、...........、一直计算完毕,每一次都会有查全率查准率,就可以曲线了,这里我说的很粗糙,详细的可以查看我的代码,当然也有函数参考的别人的,也做了说明。

    correct result / classification
    E1 E2
obtained
result / classification
E1 tp
(true positive)
fp
(false positive)
E2 fn
(false negative)
tn
(true negative)

Precision and recall are then defined as:

\mbox{Precision}=\frac{tp}{tp+fp} \,
\mbox{Recall}=\frac{tp}{tp+fn} \,

Recall in this context is also referred to as the True Positive Rate, other related measures used in classification include True Negative Rate and Accuracy:[1]. True Negative Rate is also called Specificity.

\mbox{True Negative Rate}=\frac{tn}{tn+fp} \,
\mbox{Accuracy}=\frac{tp+tn}{tp+tn+fp+fn} \,

------------------

我的计算这些东西的代码包:

PG_Curve.zip: Matlab code for computing and visualization: Confusion Matrix, Precision/Recall Curve, ROC, Accuracy, F-Measure etc. for Classification.

红色的跳跃的就是最原始的曲线,绿色的是一个人的平滑算法。

http://ir.sdu.edu.cn/bbs/attachments/month_1012/1012172034d1e2d6d504d716da.jpg

http://ir.sdu.edu.cn/bbs/attachments/month_1012/101217203403151cad8caff4c3.jpg

http://ir.sdu.edu.cn/bbs/attachments/month_1012/10121720348c1ce9557ab3335a.jpg


分类算法中的ROC与PR指标

做过图像识别、机器学习或者信息检索相关研究的人都知道,论文的实验部分都要和别人的算法比一比。可怎么比,人多嘴杂,我说我的方法好,你说你的方法好,各做各的总是不行——没规矩不成方圆。于是慢慢的大家就形成...
  • xiahouzuoxin
  • xiahouzuoxin
  • 2015年01月26日 22:43
  • 17720

机器学习之分类器性能指标之ROC曲线、AUC值

机器学习之分类器性能指标之ROC曲线、AUC值 http://www.cnblogs.com/dlml/p/4403482.html 分类器性能指标之ROC曲线、AUC值 一 r...
  • zdy0_2004
  • zdy0_2004
  • 2015年04月08日 23:01
  • 34849

分类模型评估之ROC-AUC曲线和PRC曲线

http://blog.csdn.net/pipisorry/article/details/51788927ROC曲线和AUCROC(Receiver Operating Characteristi...
  • pipisorry
  • pipisorry
  • 2016年06月30日 11:27
  • 9189

多分类问题中每一类的Precision-Recall Curve曲线以及ROC的Matlab画法

转自:http://www.zhizhihu.com/html/y2010/2447.html         这两天写论文中,本来设计的是要画这个Precision-Recall Curve的,因...
  • foreyang00
  • foreyang00
  • 2012年11月21日 15:46
  • 3223

理解准确率(accuracy)、精度(precision)、查全率(recall)、F1

详解衡量机器学习模型分类结果的四个关键指标
  • ybdesire
  • ybdesire
  • 2016年12月13日 21:32
  • 3841

多分类问题中每一类的Precision-Recall Curve曲线以及ROC的Matlab画法

这两天写论文中,本来设计的是要画这个Precision-Recall Curve的,因为PRC是从信息检索中来的,而且我又做的类似一个检索,所以要画这个图,但是我靠,竟然发现不好画,找了很多资料等。最...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年04月03日 14:22
  • 3735

ROC曲线和PR(Precision-Recall)曲线的联系

http://www.chmod764sean.com/computer-tec/data-mining-machine-learning/501.html 在机器学习中,ROC(Receiver...
  • iamzhangzhuping
  • iamzhangzhuping
  • 2016年02月22日 13:22
  • 921

多分类问题中查全率和查准率的理解(Precision-Recall)

查全率查准率是从信息检索来的,那么我们就得先看看原来的是怎么定义的: 查全率——它是指检出的相关文献量与检索系统中相关文献总量的比率,是衡量信息检索系统检出相关文献能力的尺度。 查准率——它是指检出的...
  • qq280929090
  • qq280929090
  • 2017年04月24日 15:12
  • 919

precision recall曲线Matlab实现

在用哈希进行检索时,常会用到precision recall曲线对其性能进行定量评价。precision recall的定义在信息检索评价指标中已做了详细说明,这里再记录一下precision r...
  • yongyuanstu
  • yongyuanstu
  • 2014年06月23日 22:39
  • 3562

Matlab code for Precision/Recall, ROC, Accuracy, F-Measure

  • 2016年01月15日 09:49
  • 52KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多分类问题中每一类的Precision-Recall Corve曲线以及ROC的Matlab画法
举报原因:
原因补充:

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