【机器学习】Accuracy、Precision、Recall、F1 通透解释

在评估机器学习模型性能时,仅依赖主观感觉难以提供足够客观的信息。为了更全面地评估模型在解决特定问题上的表现,我们需要依赖一系列量化指标Accuracy、Precision、Recall、F1。

问题定义

假如有100例疾病筛检,其中已知70位为正常人,30位为患者。疾病筛查的目的是为了找出所有的病患,现在筛检结果显示50人罹患疾病,但这50人中仅有16位为真的罹患疾病,其他34位属于正常人被误判的情况。

因此,从上述可知下列表格情况。

被诊出罹患疾病未被诊出罹患疾病
病人16人(True Positive,TP)14人(False Negative,FN)30人
正常人34人(False Positive,FP)36人(True Negative,TN)70人
50人50人

True Positive,TP

第一个True表示分类正确,第二个Positive表示在这次筛检将其归类为罹患疾病,即病人被诊断出罹患疾病的状况,共16人。

False Positive,FP

第一个False表示分类错误,第二个Positive表示在这次筛检将其归类为罹患疾病,即正常人被诊断出罹患疾病的状况,共34人。

False Negative,FN

第一个False表示分类错误,第二个Negative表示筛检将其归类为没有疾病的人,即筛检将病人诊断为未罹患疾病的状况,共30人。

True Negative,TN

True表示分类正确,第二个Negative表示筛检将其归类为没有疾病的人,即正常人被诊断出没有罹患疾病的状况,共36人。


接下来的指标计算,基于TP TN FP FN四种状况的排列组合。

Accuracy,准确率

定义:给定测试资料集,分类器将正确分类样本的样本数与总样本数的之比,即模型预测正确数量所占整体的比例。

其公式为:Accuracy=\frac{TP+TN}{TP+TN+FP+FN}

依据情境计算:Accuracy=\frac{16+36}{16+36+34+14}=0.52

这是最常见的评价指标,但对于资料集比例不平衡的状况下,如肺炎 癌症筛查等,Accuracy指标不具备参考价值。

以罕见病检测来说,有100个样本,99位是Negative(未患病),只有一个Positive(患病)。假设有一模型对样本预测输出全为Negative,因此准确率高达99/100=0.99,但该模型几乎报废无法使用,因为无法诊断出有疾病。

Precision,精确率

定义:被预测为Positive的结果中,有多少是真的Positive。

其公式为:Precision=\frac{TP}{TP+FP}

依据情境计算,被模型预测为病人中有多少是真的病人Precision=\frac{16}{16+34}=0.32

Recall,召回率

定义:原本是Positive的资料有多少被预测出来。

其公式为:Recall=\frac{TP}{TP+FN}

依据情境计算,真的病人中真的被模型预测出来的比例Recall=\frac{16}{16+34}=0.53


一般而言,这两个指标很难兼顾。如果模型太贪婪,试图预测更多的 Ground Truth 为 Positive 的例子,可能会导致误判,虽然 Recall 较高,但 Precision 会下降。反之,如果模型过于谨慎,Precision 或许会很高,但 Recall 相对较低。

在面对这种两难情境时,引申出了另一指标

F1-score

它综合考虑了 Precision 和 Recall,通过调和平均来取得平衡。

其公式为:F1=\frac{2\cdot TP }{2\cdot TP+FP+FN}

依据情境计算,F1=\frac{2\cdot 16 }{2\cdot 16+34+14}=0.4

  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值