机器学习-准确率、召回率、精确率、f1score等

背景

机器学习中,如何评估一个模型的好坏极关重要,否则训练出来了我们自己都说不明白到底该不该用,一句话就是心里没底。
本文将用较为白话的角度来阐述这些指标。
注:这些指标(准确率、精确率、召回率)用中文表示容易混淆,例如准确率和精确率,本文将用英文来进行表述

指标介绍

在介绍之前,我们先上一个二分类的例子

假定已经根据训练集训练出了一个模型,这个模型等待进行评估。
现在给定测试集,正样本60个,负样本40个,一共100个。
你可以简单的比喻为,一个班有60个男的,40个女的,但是呢,我们又预先不知道,而是通过模型来进行预测。(这里把男比喻为整样本,女比喻为负样本)

模型预测结果:

  • 50个是男的,50个是女的

真实结果:

  • 预测的50个男的中,有40个是男的,10个是女的
  • 预测的50个女的中,有30个是女的,20个是男的

英文表示:

  • TP:将正类预测为正类数量,40
  • FN:将正类预测为负类数量,20
  • FP:将负类预测为正类数量,10
  • TN:将负类预测为负类数量,30

混淆矩阵如下:

预测男预测女
真实男40(TP)20(FN)
真实女10(FP)30(TN)

看到这些男男女女、正正负负是不是很蒙。。。

Accuracy(中文译为准确率)

白话描述:找的准
accuracy = 预测对的 / 所有 = (TP+TN)/(TP+FN+FP+TN) = 70%
注意:accurary是对全部类别计算的

Recall(召回率)

白话描述:找的全
正样本召回率:recall = TP/(TP+FN) = 预测正样本对的 / 所有正样本 = 66.6%

Precision(精确率)

白话描述:xxxxx
precision = TP/(TP+FP) = 80%
注意:precision是按一个分类(男,即正分类)计算的

总结

  • Precision,被我们的算法选为positive的数据中,有多少真的是positive的?
  • Recall: 实际应该为Positive的数据中,多少被我们选为了Positive?
  • Accuracy: 所有数据中,我们正确分类了多少?
  • F1 Score是precision和recall整合在一起的判定标准(类似于ROC评估,可以直接标定一个模型的好坏)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值