从0开始学习机器学习--Day21--算法的评估标准

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

在上一章我们提到了在每次运行算法时通过返回一个实数值来判断算法的好坏,但是我们该如何构建这个实数的计算公式呢,毕竟这关乎于我们对算法的判断,不能过于夸大或贬低。有一个典型的会被影响的很大例子叫做偏斜类问题。

假如我们在一个机器学习算法的验证集中得到的错误率是1%,而另一个算法中的错误率是0.5%,那么是不是意味着第二个算法肯定比第一个好呢。实际上,假如我们的训练集中正样本和负样本的比例很极端,我们并不能武断地直接用预测正确率来判断算法好坏。就像我们刚刚说的,第二个算法的逻辑很简单,他总是预测结果是0,即负样本,那么在一个正负样本比例很极端的训练集中,后者有着天然的优势,所以单纯靠预测正确率来判断并不能检验算法的好坏,我们把这种样本集中一类比另一类样本多很多的问题称为偏斜类问题。

在遇到偏斜类问题时,我们一般会用叫做查准率和召回率的数据来判断算法的好坏。 ,两者都是越高越好,前者代表预测为真的准确率,后者代表预测真数据的效率。

但并不是所有的问题都要用到这两个度量标准,事实上这取决于问题的条件限制。例如,在癌症分类问题中,我们会将概率从0.5改为0.7,即当我们认为该病人有大于等于70%概率得癌症的时候才下判断,毕竟这是一个听起来很恐怖的事情,而在这个时候我们的查准率也会随我们对标准放宽而提高;但如果我们的目的是想要尽量避免漏掉癌症病人,不想要错过最佳的治疗窗口期,那么这个时候就会将概率改为0.3,放低界限,那么类似的我们的召回率就会升高,准确率就会降低。

根据所选概率变化的准确率和召回率

如图,我们可以看到一个横轴为召回率,纵轴为准确率的图像,线上的点代表不同的概率。这就像是一个滑动变阻器,按照不同的环境,通过移动中间的点来选取合适的值。

但仅仅是这样似乎还不够能帮我们判断,为了能考虑到偏斜类问题,我们提出了一个参考值,假设准确率为,召回率为,我们用来判断,这能避免我们忽略召回率的问题。

视频参考:https://www.bilibili.com/video/BV1By4y1J7A5?spm_id_from=333.788.player.switch&vd_source=867b8ecbd62561f6cb9b4a83a368f691&p=68

相关推荐
冬奇Lab20 分钟前
每日一个开源项目(第140篇):AgentScope 2.0 - 阿里开源的生产级 Agent 框架
人工智能·开源·agent
冬奇Lab30 分钟前
Skill 系列(04):Skill 指标体系——L1/L2/L3 三层监控,让质量下降有据可查
人工智能·开源·llm
IT_陈寒2 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
玩转AI不是事2 小时前
用IndexedDB做AI对话离线缓存实战
人工智能
Asize3 小时前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
MobotStone3 小时前
AI项目越多,为什么越容易失控
人工智能·aigc
十有八七3 小时前
AI时代的置身X内
前端·人工智能
Lkstar3 小时前
A2A协议深度解析|Agent2Agent通信标准,智能体互联网的"HTTP"
人工智能·llm
百度Geek说3 小时前
当代码越来越便宜,什么在变贵?
人工智能
橘子星3 小时前
LLM 无状态架构实践:从原理到代码落地
前端·javascript·人工智能