机器学习中评估分类模型性能的10个重要指标(二)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 机器学习中评估分类模型性能的10个重要指标(二)

Type I Error

image.png

第1错误也称为假阳性,当分类模型错误地预测最初错误观察的真实结果时发生。

例如:假设我们的逻辑模型正在处理一个垃圾邮件而不是垃圾邮件的用例。如果我们的模型将一封其他重要的电子邮件标记为垃圾邮件,那么这是我们的模型的类型I错误的一个例子。在这个特别的问题陈述中,我们对尽可能减少类型I错误非常敏感,因为进入垃圾邮件的重要电子邮件可能会产生严重的影响。

Type II Error

image.png

第2类错误也被称为假阴性,当分类模型错误地预测了最初真实观察结果的假结果时就会发生。

例如:假设我们的逻辑模型正在处理一个用例,它必须预测一个人是否患有癌症。如果我们的模型将患有癌症的人标记为健康人并对其进行了错误分类,那么这就是我们的模型的第二类错误的一个例子。在这个特别的问题陈述中,我们对尽可能减少II型错误非常敏感,因为如果疾病继续在患者中未被诊断,这种情况下的假阴性可能导致死亡。

Accuracy

现在,上面讨论的三个度量是通用度量,与有的培训和测试数据类型以及为问题陈述部署的分类算法类型无关。

我们现在正在讨论非常适合特定类型数据的度量。

让我们从这里开始讨论准确性,这是一个最适合用于平衡数据集的度量。

image.png

一个平衡的数据集是1和0,是和否,正和负都由训练数据平均表示的数据集。另一方面,如果两个类标签的比率有偏差,那么我们的模型将偏向一个类别。

假设我们有一个平衡的数据集,让我们学习什么是准确性。

image.png

准确度是指测量结果接近真实值。它告诉我们,我们的分类模型能够多准确地预测问题陈述中给出的类标签。

例如:假设我们的分类模型试图预测客户流失情况。在上图中,在实际吸引的700个客户中(TP+FN),该模型能够正确地对500个吸引的客户进行分类(TP)。同样,在总共300个保留客户(FP+TN)中,该模型能够正确地对200个保留客户(TN)进行分类。

Accuracy= (TP+TN)/Total customers

在上面的场景中,我们看到模型在1000个客户的测试数据集上的准确率是70%。

现在,我们了解到准确性是一个度量标准,应该只用于平衡的数据集。为什么会这样?让我们看一个例子来理解这一点。

image.png

在这个例子中,这个模型是在一个不平衡的数据集上训练的,甚至测试数据集也是不平衡的。准确度指标的得分为72%,这可能给我们的印象是,我们的模型在分类方面做得很好。但是,仔细看,这个模型在预测负面的类标签方面做得很糟糕。在100个总的阴性标记观察中,它只预测了20个正确的结果。这就是为什么如果您有一个不平衡的数据集,就不应该使用精度度量。

下一个问题是,如果您有一个不平衡的数据集,将使用什么?答案是Recall和Precision。让我们进一步了解这些。

Recall/ Sensitivity/ TPR

image.png

Recall/ Sensitivity/ TPR(真阳性率)试图回答以下问题:

哪些实际阳性被正确识别?

image.png

上面的图像告诉我们召回分数是78%。召回通常用于真相检测最为重要的用例中。例如:癌症预测、股市分类等。在这里,问题陈述要求最小化假阴性,这意味着最大化召回/敏感度。

Precision

asasas.png

精确性尝试回答以下问题:

什么比例的阳性鉴定是正确的?

asa.png

上图所示的示例表明,精度得分为75%。精度通常用于最重要的情况,即不存在大量误报。例如:在垃圾邮件检测案例中,正如我们前面所讨论的,假阳性将是一个观察结果,它不是垃圾邮件,但根据我们的分类模型被归类为垃圾邮件。过多的误报可能会破坏垃圾邮件分类模型的目的。因此,在这种情况下,判断模型性能的精确性非常方便。

Specificity

assss.png

特异性(也被称为真阴性率)测量实际阴性的比例被正确地识别为这样。

qw.png

垃圾邮件检测分类器的例子,我们了解精度。继续使用那个例子,特异性告诉我们我们的模型能够准确分类多少个阴性。在这个例子中,我们看到专一性=33%,这对于垃圾邮件检测模型来说不是一个好的分数,因为这意味着大多数非垃圾邮件被错误地归类为垃圾邮件。我们可以通过观察特异性度量得出结论,这个模型需要改进。

F1 Score

我们分别讨论了第6点和第7点中的回忆和精确性。我们知道,有些问题陈述中,较高的查全率优先于较高的查准率,反之亦然。

但是有一些用例,其中的区别不是很清楚,作为开发人员,我们希望同时重视召回和精确性。在这种情况下,还可以使用另一个度量标准-F1分数。它依赖于精确性和召回率。

在二元分类的统计分析中,F1分数(也可以是F分数或F测度)是测试准确性的度量。它同时考虑了测试的精确性p和召回率r来计算分数

qqqqqq.png

在讨论最后两个指标之前,下面是Wikipedia上提供的一个很好的摘要表,它涵盖了我们在本文中讨论过的所有指标。放大看看图像是否不清晰。

qqqqq.png

现在,我们已经到了最后一站了。到目前为止,我们已经讨论了预测类标签的分类模型的模型性能度量。现在,让我们研究基于概率的模型的度量。

ROC Curve- AUC Score

曲线下面积(AUC)、受试者工作特性曲线(ROC)

这是衡量模型性能的最重要指标之一,在数据科学家中广受欢迎。

让我们从一个例子开始理解这一点。我们有一个分类模型,它给出了0-1之间的概率值来预测一个人是否肥胖的概率。接近0的概率分数表示考虑中的人肥胖的概率非常低,而接近1的概率值表示人肥胖的概率非常高。现在,默认情况下,如果我们将阈值设为0.5,那么所有分配概率小于0.5的人将被归类为“不肥胖”,分配概率大于0.5的人将被归类为“肥胖”。但是,我们可以改变这个门槛。如果我把它定为0.3或0.9呢。让我们看看会发生什么。

为了便于理解,我们在样本中抽取了10个人。

要绘制ROC曲线,我们必须绘制(1-特异性),即x轴上的假阳性率和y轴上的敏感性,即真阳性率。

ROC曲线告诉我们,该模型能够很好地区分两种情况(例如,患者是否肥胖)。更好的模型可以准确地区分两者。然而,一个糟糕的模型将很难区分两者。

我们将看到4种不同的场景,其中我们将选择不同的阈值,并将计算ROC曲线对应的x轴和y轴值。

qqqq.png



现在,我们有4个数据点,借助这些数据点,我们将绘制ROC曲线,如下所示。

qqq.png


因此,这就是如何为分类模型绘制ROC曲线的方法,通过分配不同的阈值来创建不同的数据点来生成ROC曲线。ROC曲线下的面积称为AUC。AUC越高,你的模型就越好。ROC曲线离中线越远,模型就越好。这就是ROC-AUC如何帮助我们判断分类模型的性能,并为我们提供从多个分类模型中选择一个模型的方法。

PR Curve

在数据主要位于负标签的情况下,ROC-AUC将给我们一个不能很好地代表现实的结果,因为我们主要关注正速率方法,y轴上的TPR和x轴上的FPR。

qq.png

在这里,您可以看到大多数数据都在负标签下,ROC-AUC不会捕获该信息。在这些场景中,我们转向PR曲线,这只是精确召回曲线。

在PR曲线中,我们将计算并绘制Y轴上的精度和X轴上的调用,实际情况PR曲线正好与ROC曲线相反,所以这里就不再展示了。

目录
相关文章
|
1天前
|
机器学习/深度学习 算法
机器学习方法分类
【6月更文挑战第14天】机器学习方法分类。
8 2
|
5天前
|
机器学习/深度学习 人工智能 PyTorch
人工智能平台PAI产品使用合集之只进行训练(train)而不进行评估(eval)该如何配置
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
14天前
|
机器学习/深度学习 数据采集 Python
机器学习模型的评估与选择标准
【6月更文挑战第1天】机器学习模型的评估至关重要,包括准确率、召回率、F1值和均方误差等指标。准确率衡量预测正确比例,召回率关注找出所有相关样本的能力,F1值是两者的综合。泛化能力同样重要,防止过拟合和欠拟合。不同场景可能侧重不同指标,如医疗诊断更关注召回率。选择模型需综合考虑多个因素,以实现最佳性能。通过实践和探索,我们可以更好地理解和优化模型评估,推动机器学习进步。
38 2
|
18天前
|
机器学习/深度学习 数据采集 人工智能
使用Python和Scikit-learn实现机器学习分类任务
使用Python和Scikit-learn实现机器学习分类任务
31 1
|
1月前
|
机器学习/深度学习
机器学习 —— 分类预测与集成学习(下)
机器学习 —— 分类预测与集成学习(下)
33 0
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
机器学习 —— 分类预测与集成学习(上)
机器学习 —— 分类预测与集成学习
39 2
|
1月前
|
机器学习/深度学习 BI
机器学习模型评估指标总结
机器学习模型评估指标总结
19 2
|
1月前
|
机器学习/深度学习 监控 算法
LabVIEW使用机器学习分类模型探索基于技能课程的学习
LabVIEW使用机器学习分类模型探索基于技能课程的学习
21 1
|
1月前
|
机器学习/深度学习 存储 算法
【机器学习】使用贝叶斯模型做分类时,可能会碰到什么问题?怎么解决?
【5月更文挑战第11天】【机器学习】使用贝叶斯模型做分类时,可能会碰到什么问题?怎么解决?
|
1月前
|
机器学习/深度学习 数据可视化 前端开发
【Python机器学习专栏】机器学习模型评估的实用方法
【4月更文挑战第30天】本文介绍了机器学习模型评估的关键方法,包括评估指标(如准确率、精确率、召回率、F1分数、MSE、RMSE、MAE及ROC曲线)和交叉验证技术(如K折交叉验证、留一交叉验证、自助法)。混淆矩阵提供了一种可视化分类模型性能的方式,而Python的scikit-learn库则方便实现这些评估。选择适合的指标和验证方法能有效优化模型性能。

相关产品

  • 人工智能平台 PAI