从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

相关推荐
Anarkh_Lee4 分钟前
【小白也能实现智能问数智能体】使用开源的universal-db-mcp在coze中实现问数 AskDB智能体
数据库·人工智能·ai·开源·ai编程
Gorgous—l9 分钟前
数据结构算法学习:LeetCode热题100-多维动态规划篇(不同路径、最小路径和、最长回文子串、最长公共子序列、编辑距离)
数据结构·学习·算法
John_ToDebug15 分钟前
2026年展望:在技术涌现时代构筑确定性
人工智能·程序人生
AndyHeee25 分钟前
【windows使用TensorFlow,GPU无法识别问题汇总,含TensorFlow完整安装过程】
人工智能·windows·tensorflow
jay神40 分钟前
基于YOLOv8的木材表面缺陷检测系统
人工智能·深度学习·yolo·计算机视觉·毕业设计
交通上的硅基思维1 小时前
人工智能安全:风险、机制与治理框架研究
人工智能·安全·百度
老百姓懂点AI1 小时前
[测试工程] 告别“玄学”评测:智能体来了(西南总部)基于AI agent指挥官的自动化Eval框架与AI调度官的回归测试
运维·人工智能·自动化
Hello_Embed1 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
2501_948120151 小时前
基于量化感知训练的大语言模型压缩方法
人工智能·语言模型·自然语言处理
songyuc1 小时前
【Llava】load_pretrained_model() 说明
人工智能·深度学习