(转)多分类问题中每一类的Precisio…

转自:http://blog.csdn.net/foreyang00/article/details/8208408

 

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

 

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

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

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

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:

       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.

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值