绘制PR曲线

二分类中的pr曲线是怎么画的?

“p” 是precition,是查准率,也是我们常用到的准确率。
“r” 是recall,是查全率,也叫召回率。

查准率(precision)与查全率(recall)是对于需求在信息检索、Web搜索等应用评估性能度量适应度高的检测数值。对于二分类问题,可将真实类别与算法预测类别的组合划分为真正例(ture positive)、假证例(false positive)、真反例(true negative)、假反例(false negative)四种情形。显然TP+FP+TN+FN=样例总数。分类结果为混淆矩阵:

绘制PR曲线_第1张图片

 绘制PR曲线_第2张图片

 一般来说。查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。通常只有一些简单任务中,才可能使查全率和查准率都很高。

本例使用的为鸢尾属植物数据集

实现代码

import matplotlib.pyplot as plt
plt.style.use('ggplot')


X = data.data  # 只包括样本的特征,150x4
y = data.target  # 样本的类型,[0, 1, 2]
features = data.feature_names  # 4个特征的名称
targets = data.target_names  # 3类鸢尾花的名称,跟y中的3个数字对应

plt.figure(figsize=(10, 4))
plt.plot(X[:, 2][y==0], X[:, 3][y==0], 'bs', label=targets[0])
plt.plot(X[:, 2][y==1], X[:, 3][y==1], 'kx', label=targets[1])
plt.plot(X[:, 2][y==2], X[:, 3][y==2], 'ro', label=targets[2])
plt.xlabel(features[2])
plt.ylabel(features[3])
plt.title('Iris Data Set')
plt.legend()
plt.savefig('Iris Data Set.png', dpi=200)
plt.show()

代码画出来的图如下:

绘制PR曲线_第3张图片

 

你可能感兴趣的:(python)