召回率和精确率(recall and precision)

#记性不好写博客以记之

召回率(recall)

公式:Recall = TP /TP+FN
定义:所有的正样本中,我们识别出来的比例。召回率又叫查全率、击中的概率。

精准率(precision)

公式:Precision = TP /TP+FP
定义:所有识别成正样本中,有多少是真正的正样本。精准率又叫查准率、误杀率。

#关于TP、TN、FP、FN中的T、F(True、False)意为样本预测正确、错误;P、N(positive、negative)预测为正、负样本。

TP就是预测为正样本,实际为正样本的个数。

FN就是预测为负样本,实际为正样本的个数
(TP+FN 包含了所有正样本)

TN就是预测为负样本,实际为负样本的个数

FP就是预测为正样本,实际为负样本的个数
(TN+FP包含了所有负样本)

例1、对预测癌症患病情况的分类而言,我们对召回率更看重,不希望有病例被误判为没有患癌症,我们希望把所有癌症情况都预测出来,宁可错杀一千也不放走一个。
例2、对于买彩票这个例子而言,我们显然对精准率更看重,在乎彩票中了的概率越高越好。

有些时候对召回率、精准率要求不高所以可以考虑,对这两个的

调和平均数

F1-Score = 2PR /P+R = 2TP/(2TP+FP+FN)

这个F1值越高说明结果越好。

### 召回率 (Recall) 精确 (Precision) #### Recall 召回率 的定义 召回率是指在所有实际为正类的样本中,被模型正确预测为正类的比例。其公式可以表示为: \[ \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} \] 其中: - TP 表示真正例(True Positive),即实际为正类且被预测为正类的数量; - FN 表示假负例(False Negative),即实际为正类但被预测为负类的数量。 召回率反映了模型对于正类样本的覆盖能力,越高说明漏检越少[^3]。 --- #### Precision 精确 的定义 精确是指在所有被模型预测为正类的样本中,实际为正类的比例。其公式可以表示为: \[ \text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}} \] 其中: - FP 表示假正例(False Positive),即实际为负类但被预测为正类的数量。 精确衡量的是模型预测正类的准确性,越高说明误报越少。 --- #### Recall Precision 的区别 两者的计算方式不同,因此关注的重点也有所不同: - **Recall** 关注的是模型能够找到多少真正的正类样本,强调的是查全的能力。 - **Precision** 则更注重于模型预测为正类的结果中有多少是真实的正类,强调的是查准的能力。 两者之间存在权衡关系,在某些情况下提高其中一个可能会降低另一个[^1]。 --- #### Recall Precision 的联系 为了综合考虑这两个指标,通常会引入 F1 值来平衡二者的关系。F1 值的公式如下: \[ \text{F1-Score} = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} \] 这表明当精确召回率达到某种均衡状态时,F1 值才会较高。 --- #### PR 曲线的作用 PR 曲线通过绘制不同的决策阈值下 Precision Recall 的变化情况,直观展示了模型在这两个维度上的表现。特别是在处理类别不平衡的数据集时,PR 曲线下方的面积(Area Under the Curve, AUC)被称为 AP 值(Average Precision),它能更好地反映模型的整体性能[^2]。 以下是绘制 PR 曲线的一个简单 Python 实现例子: ```python from sklearn.metrics import precision_recall_curve import matplotlib.pyplot as plt # y_true 是真实标签,y_scores 是模型输出的概分数 precision, recall, thresholds = precision_recall_curve(y_true, y_scores) plt.figure() plt.plot(recall, precision, marker='.') plt.xlabel('Recall') plt.ylabel('Precision') plt.title('Precision-Recall Curve') plt.show() ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值