机器学习中,准确率(Accuracy)、精确度(Precision)、召回率(Recall)、F1分数(F1Score) 分别是什么?有啥用?有啥意义?有啥缺陷?

首先明白四个名词:

  • 真正例 True Positive
  • 假正例 False Positive
  • 真负例 True Negative
  • 假负例 False Negative

TP: 被预测为真,实际为真的样本
FP: 被预测为真,实际为假的样本
TN: 被预测为假,实际为假的样本
FN: 被预测为假,实际为真的样本

准确率 (Accuracy) 计算公式:(TP + TN) / (TP + FP + TN + FN)
意义:被正确预测的样本占总样本的比例
缺陷:尽管准确率是一个很直观的指标,但在数据不平衡的情况下,它可能会产生误导。例如,在一个99%的样本属于同一类的数据集中,一个总是预测这个主要类的简单模型也会有99%的准确率,但这并不意味着模型是好的。

精准度 (Precision) 计算公式:TP / (TP + FP)
意义:在所有预测为真的样本中,实际为真的样本所占的比例
精确度是评估模型预测正类样本质量的一个好方法。

召回率 (Recall) 计算公式:TP / (TP + FN)
意义:在所有实际为真的样本中,被我们预测为真的样本的比例
召回率是评估模型找出正类样本能力的一个好方法。

F1分数 (F1score) 计算公式:2 x (Precision x Recall) / (Precision + Recall)
意义:F1分数是精确度和召回率的调和平均数,它试图在精确度和召回率之间达到平衡
在精确度和召回率同等重要的情况下,F1分数是一个有用的指标。它特别适用于不平衡数据集。


精确度(Precision)和召回率(Recall)通常被认为是相互对抗的,这种现象在统计学和机器学习中被称为精确度-召回率权衡(Precision-Recall Trade-off)。

在很多情况下,提高精确度会降低召回率,反之亦然。这是因为:

提高精确度意味着模型在预测正类时更加谨慎,只有当模型非常确信一个样本是正类时才会这样预测。这可能会导致模型错过一些实际上是正类的样本(增加假负例),因此召回率下降。

提高召回率意味着模型努力识别更多的正类样本,包括那些模型不太确定的样本。这样做虽然能找回更多的真正例,但同时也可能增加假正例(即错误地将负类样本预测为正类),导致精确度下降。

在实际应用中,选择侧重于精确度还是召回率取决于具体问题的需求:

  • 如果假正例的成本很高(例如,在医疗诊断中,错误地诊断一个健康的人为病人可能会导致不必要的焦虑和进一步的检查),那么可能更倾向于提高精确度。
  • 如果假负例的成本很高(例如,在欺诈检测中,没能检测到一个真正的欺诈行为可能导致巨大的财务损失),那么可能更倾向于提高召回率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值