精度、召回率、准确率、F1、ROC、AUC的理解
2021/4/24 18:56:16
本文主要是介绍精度、召回率、准确率、F1、ROC、AUC的理解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
精度(accuracy) 分类正确的样本数占总样本数的比例
错误率(error rate) 分类错误的样本数占总样本数的比例
通常来说精度(accuracy)不是一个好的性能指标,尤其是处理数据有偏差时候比如一类非常多,一类很少。
比如手写数字识别问题,只判断一副图片是不是5,由于5的图片只占百分之10左右,所以分类器总是预测图片不是5都会有90%左右的可能性是对的
混淆矩阵、准确率、召回率、F1
混淆矩阵
准确率(accuracy)
准确率 = (TP + TN) / 记录总数
正在上传…重新上传取消正在上传…重新上传取消
表示正确预测的样本占总样本的比例,准确率并不总是首选的指标,因为目标类别是不均衡的。大多数时候,TN样本远多于TP样本。举个例子,欺诈检测的数据集会包含99%的真实交易和1%的欺诈交易,如果模型预测所有的交易均为真实交易,那么准确率仍有99%。
关键是要找出关于正类别的性能,因此介绍如下几个指标。
举例:医生问诊,(真病人 + 真健康)/ 所有人
精度(precision)
表示正确预测出的正样本占所有预测为正样本的比例。
举例:真病人 / (真病人 + 假病人)
召回率
召回率 = TP / (TP + FN)
又称查全率,表示正确预测出的正样本占总正样本的比例,反映了模型预测正类别的性能。
举例:真病人 / (真病人 + 假健康)
精度和召回率不可兼得,增加精度会降低召回率,增加召回率会降低精度,因为保证精度,那么将会对预测结果严格筛选,这将导致部分正例被筛选淘汰,导致召回率降低。保证召回率,那么就会降低筛选的门槛,尽可能多的将正例筛选出来,那么就会有一些反例被筛选进去,导致精度下降。
也可以通过直接画出召回率对精度的曲线来进行观察,在其急剧下降之前根据需求选择合适点。
F1分数
F1分数是召回率和准确率的结合,使两者的调和平均,所谓调和平均就是会给小的值更大的权重,而不是同等地位看待,所以若要F1值高,那么需要两者都高。
这篇关于精度、召回率、准确率、F1、ROC、AUC的理解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享