ROC,AUC,PR,AP及python绘制

参考:http://www.cnblogs.com/zf-blog/p/6734686.html

一、Precision, recall & accuracy


False positive: 预测为positive 但ground truth 为negative

False negative: 预测为negative 但是ground truth 为positive

precision: 预测为positive中真正是positive的比例 (TP/(TP+FP)),越大越好,1为理想状态

recall:  查全率,所有positive中预测为positive的比例(TP/P)越大越好,1为新理想状态

F-score: 将precision 和recall合成一个指标,越大越好

accuracy: 所有预测结果与实际结果一样的样本/所有样本

fp rate:false positive占整个negative的比例,就是说原本是negative 预测为positive的比例,越小越好

tp rate:true positive 占整个positive 的比例

ROC曲线:(fp rate,tp rate)曲线,实际中,ROC曲线越凸向左上方效果越好

PR曲线:(precision,recall)曲线,越凸向右上方效果越好

AP:PR曲线下的面积

AUC: Area Under the Curve 是一个抽象的概念,并不单指ROC曲线下的面积


注意:在正负样本差距不大的时候,ROC和PR的趋势是差不多的,但是当负样本很多的时候,两者就截然不同了。ROC效果看似依然很好,但是PR上反映效果一般。打个比方就是1个正例,100个负例,那么tp rate 可能一直维持在100左右,然后突然降到0,但PR曲线就会有较大差异,所以说明PR曲线在正负样本比例悬殊较大时更能反映分类的性能


二、AP的计算方法

假设N个样本中有M个positive的正例,那么我们就会得到M个recall值(1/M,2/M,3/M......M/M),对于每个recall值r,我们可以计算出对应r'>r的最大的precision值,然后对这M个precision 值取平均即得到最后的AP值




相应的Precision-Recall 曲线为:



AP是衡量学出来的模型在每个类别上的好坏,mAP是衡量在所有类别上的好坏,得到AP后取所有AP的平均值就是mAP了。

二、AP的计算方法

假设N个样本中有M个positive的正例,那么我们就会得到M个recall值(1/M,2/mM,3/M......M/M),对于每个recall值r,我们可以计算出对应r'>r的最大的precision值,然后对这M个precision 值取平均即得到最后的AP值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值