楼主: 时光永痕
2105 0

[数据挖掘新闻] 准确性及其缺点:精确度,召回率 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)八级

3%

威望
0
论坛币
26 个
通用积分
57.2238
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34180 点
帖子
2732
精华
0
在线时间
321 小时
注册时间
2020-7-21
最后登录
2024-8-1

楼主
时光永痕 学生认证  发表于 2020-12-7 20:23:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
准确性及其缺点:精确度,召回率
您是否曾经遇到过不确定要使用哪种度量来评估模型的情况?通过了解每个指标的用例可以解决这些情况。
每个人都知道所有常用分类指标的基本知识,但是当要知道使用正确的指标来评估其分类模型的性能时,很少有人对下一步采取的措施充满信心。
监督学习通常属于回归(具有连续目标)或归类(具有离散目标)。但是,在本文中,我将尝试着重于机器学习的一小部分但非常重要的部分,这是面试官最喜欢的话题–“谁知道什么”,还可以帮助您正确理解分类模型,并最终关于任何业务问题。本文将帮助您了解,当有人告诉您ml模型的准确度达到94%时,您应该问哪些问题才能知道该模型是否确实按要求运行。
准确性及其缺点:精确度,召回率
那么,如何确定有帮助的问题呢?
现在,这是灵魂的想法。
我们将通过知道如何正确评估分类模型来回答这一问题。
我们将在本文中介绍以下主题:
准确性
缺点
混淆矩阵
基于混淆矩阵的指标
回顾
阅读本文后,您将了解:
什么是混乱矩阵,为什么需要使用它?
如何为2类分类问题计算混淆矩阵
基于混淆矩阵的度量标准以及如何使用它们
准确性及其缺点:
准确性(ACC)衡量正确预测的比例。它定义为“正确预测与做出的总预测的比率”。
精度文字公式
准确性问题:
它隐藏了您需要更好地了解分类模型的性能所需的细节。您可以通过以下示例来帮助您理解问题:
多类别目标变量:当数据具有两个以上类别时。使用3个或更多类,您可能会获得80%的分类准确度,但是您不知道这是因为所有类的预测都一样好,还是模型忽略了一个或两个类。
数据集不平衡:数据不平衡时(没有偶数个类)。如果每100条记录中有95条记录属于一个类别,则您可能会达到95%或更高的准确度,但这并不是一个很好的分数,因为您可以通过始终预测最常见的类别值来获得此分数。示例数据集–乳腺癌数据集,垃圾邮件vs非垃圾邮件数据集。
在电子邮件分类问题中遇到了数据不平衡的典型示例,其中电子邮件被分类为垃圾邮件或非垃圾邮件。在这里,垃圾邮件的数量远远少于相关(非垃圾邮件)电子邮件(超过90%)的数量(不到10%)。因此,两个类的原始分布导致数据集不平衡。
如果我们上两个课,那么均衡的数据将意味着我们每个课都有50%的分数。同样,如果一个类别有60-65%的点,而另一类别有40%的f ,则不应造成任何显着的性能下降,因为大多数机器学习技术几乎无法处理数据不平衡问题。只有当班级失衡很高时,例如,一个班级的不平衡点为90%,另一班级的不平衡点为10%,准确度和少数其他优化措施才可能不那么有效,需要修改。
分类准确性不会带来诊断模型性能所需的细节。这可以通过使用混淆矩阵来得出。
准确性及其缺点:精确度,召回率
混淆矩阵:
Wikipedia将术语定义为“混淆矩阵,也称为错误矩阵,是一种特定的表布局,可以可视化算法的性能”。
混淆矩阵
两类(+,-)的混淆矩阵如下所示。
混淆矩阵中有四个象限,其符号如下。
精确召回
混淆矩阵
真实阳性(TP):阳性(+)并正确分类为阳性(+ v)的立场数量。
您预测邮件实际上是垃圾邮件。
假阴性(FN):阳性(+)并被错误分类为阴性(-)的实例数。也称为Type 2 Error。
您预测邮件实际上不是垃圾邮件。
真实负数(TN):负数(-)并正确分类为(-)的实例数。
您预测邮件不是垃圾邮件,而实际上不是。
误报(FP):否定(-)并被错误分类为(+)的实例数。这也称为Type 1 Error。
您预测邮件实际上不是垃圾邮件。
为了增加一点清晰度:
左上: 正确预测事件值的“正值”。
上限:误判 为错误预测的事件值。
左下:正确预测无事件值的False负数 。
右下:正确预测否定事件值的负数 。
基于混淆矩阵的指标:
精确
召回
F1-分数
精确
精度计算分类器不将真正的负面观察标记为正面的能力。
                  精度= TP /(TP + FP)
使用精度
当您使用类似于垃圾邮件检测数据集的模型时,我们会使用精确度,因为Recall通过将模型标记为“正数”来实际计算出模型捕获的“实际正数”。
召回率(灵敏度)
召回率可计算分类器在数据集中查找肯定观测值的能力。如果您想确定找到所有积极的观察结果,则可以最大程度地提高回忆率。
                    召回= TP /(TP + FN)
使用召回
当我们需要正确地识别积极情况时,例如在癌症检测数据集或欺诈检测案例中,我们总是倾向于使用召回。准确性或精确性在这里不会有什么帮助。
F测量
为了比较任何两个模型,我们使用F1-Score。比较精度低和查全率高的两个模型比较困难,反之亦然。F1分数有助于同时测量召回率和精度。它通过更多地惩罚极值来使用谐波均值代替算术均值。
了解混乱矩阵
假设我们有一个二进制分类问题,我们希望根据送入机器学习模型(分类器)的症状(特征)来预测患者是否患有癌症。
如上所述,混淆矩阵的左侧显示了分类器预测的类别。同时,矩阵的第一行显示示例的实际类标签。
如果问题集具有两个以上的类,则混淆矩阵只会增加相应的类数。例如,如果有四个类别,它将是一个4 x 4矩阵。
  用简单的话说,无论类别的数量如何,主体都将保持不变:矩阵的左侧是预测值,顶部是实际值。我们需要检查的是它们相交的位置,以查看任何给定类的预测示例数与该类的实际示例数。
尽管您可以手动计算混淆矩阵,精度和召回率等指标,但大多数机器学习库(例如适用于Python的Scikit-learn)都具有内置方法来获取这些指标。
在Scikit Learn中生成混淆矩阵
我们已经介绍了混淆矩阵的工作原理,在这里我们将共享python命令以将任何分类器的输出作为矩阵。
为了获得分类器的混淆矩阵,我们需要创建一个从Sklearn导入的混淆矩阵的实例,并将其传递给相关参数:真实值和我们的预测。
从sklearn.metrics导入confusion_matrix
c_matrix = confusion_matrx(y_test,预测)
打印(c_matrix)
回顾
简要回顾一下,我们研究了:
准确性
它可能带来的问题
混淆矩阵以更好地了解分类模型
精度和召回率以及使用它们的场景
我们倾向于使用准确性,因为每个人都有其含义。有必要增加使用更合适的指标,例如召回率和精度,这些指标可能看起来很陌生。您现在可以凭直觉理解为什么这些方法对于某些问题(例如,不平衡的分类任务)更有效。
正确的工具
统计数据为我们提供了评估这些指标的正式定义。作为数据科学家,我们的工作是了解合适的工具来完成正确的工作,这带来了在使用分类模型时超越准确性的需求。
使用召回率,精度和F1分数(精度和召回率的谐和平均值)使我们能够评估分类模型,也使我们考虑仅使用模型的准确性,尤其是对于不平衡的问题。据我们了解,准确性并不是对各种问题的有用评估工具,因此,让我们部署添加到军械库的其他措施来评估模型!
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:精确度 准确性

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 21:16