从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

相关推荐
youngerwang1 天前
AI 编程环境与主流 AI IDE 对比分析报告
ide·人工智能
猿小猴子1 天前
主流 AI IDE 之一的 Google Antigravity IDE 介绍
ide·人工智能·google·antigravity
Teacher.chenchong1 天前
GEE云端林业遥感:贯通森林分类、森林砍伐与退化监测、火灾评估、森林扰动监测、森林关键生理参数(树高/生物量/碳储量)反演等
人工智能·分类·数据挖掘
cmcm!1 天前
学习笔记1
数据库·笔记·学习
@sinner1 天前
你好,Scikit-learn:从零开始你的第一个机器学习项目
python·机器学习·scikit-learn
Hcoco_me1 天前
YOLO目标检测学习路线图
学习·yolo·目标检测
2501_941147421 天前
人工智能赋能智慧城市互联网应用:智能交通、能源与公共管理优化实践探索》
人工智能
咚咚王者1 天前
人工智能之数据分析 numpy:第十五章 项目实践
人工智能·数据分析·numpy
Jay20021111 天前
【机器学习】7-9 分类任务 & 逻辑回归的成本函数 & 逻辑回归的梯度下降
笔记·机器学习·分类
水月wwww1 天前
深度学习——神经网络
人工智能·深度学习·神经网络