PR曲线的概念和应用

 

目录

一.PR曲线的概念

二.精准率和召回率

三.PR曲线的功能说明

四.PR曲线代码实现


一.PR曲线的概念

PR曲线中的P代表的是precision(精准率),R代表的是recall(召回率),其代表的是精准率与召回率的关系,一般情况下,将recall设置为横坐标,precision设置为纵坐标。

二.精准率和召回率

首先,我们了解一下混淆矩阵,如下表。

PR曲线的概念和应用_第1张图片

 

其中,把正例正确地分类为正例,表示为TP(true positive),把正例错误地分类为负例,表示为FN(false negative)。把负例正确地分类为负例,表示为TN(true negative), 把负例错误地分类为正例,表示为FP(false positive)。
从混淆矩阵可以得出精准率与召回率:
precision = TP/(TP + FP)
recall = TP/(TP +FN)

三.PR曲线的功能说明

一条PR曲线要对应一个阈值(统计学的概率)。通过选择合适的阈值(比如K%)对样本进行合理的划分,概率大于K%的样本为正例,小于K%的样本为负例,样本分类完成后计算相应的精准率和召回率。

四.PR曲线代码实现

import numpy as np
from sklearn.metrics import precision_recall_curve
import matplotlib.pyplot as plt
y_true = np.array([0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1])
y_scores = np.array([0.1, 0.09, 0.35, 0.8, 0.1, 0.4, 0.5, 0.2, 0.8, 0.9, 0.3,0.4])
precision, recall, thresholds = precision_recall_curve(y_true, y_scores) #计算精确率和召回率
plt.plot(recall, precision)
plt.show()

PR曲线的概念和应用_第2张图片

 

你可能感兴趣的:(人工智能)