【机器学习】PR曲线
·
目录
一、基本概念
P和R分别代表什么
P:查准率,也称准确率
R:查全率,也称召回率
TP FP TN FN的意思
TP(true positive):真正例。即预测结果为正例,真实结果也为正例。
FP(false positive):假正例。即预测结果为正例,真实结果为反例。
TN(true negative):真反例。即预测结果为反例,真实结果为反例。
FN(false negative):假反例。即预测结果为反例,真实结果为正例。

P和R的定义
查准率P:
查全率R:
P和R是一对矛盾的度量,P高时往往R偏低,R高时往往P偏低。
PR曲线的评估方法
1.若曲线a完全“包住”曲线b,则a性能优于b。
2.若曲线a和曲线b发生了相交,则无法比较。
3.比较曲线a和曲线b曲线下面积的大小。面积大则性能优。
4.比较“平衡点”。用的较少。
“平衡点”(Break-Event Point,简称BEP)时P值和R值相同的时的取值。

5.比较F1度量。更常用。
二、如何绘制PR曲线
先确定一个阈值T,≥T则是正样例,<T为负样例。
通过设置T的数量n,可以得到n对P和R的值,以此来评估模型的好坏。
例如(网上找的例子):

代码:
import matplotlib.pyplot as plt
import numpy as np
if __name__=='__main__':
TP=np.array([5,4,4,3,3,3,3,3,3,3])
FN=np.array([0,1,1,2,2,2,2,2,2,2])
FP=np.array([5,2,2,0,0,0,0,0,0,0])
P=TP/(TP+FP)
R=TP/(TP+FN)
plt.plot(R, P)
plt.xlabel('Recall')
plt.ylabel('Precision')
plt.show()
结果如下:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)