教你学Python51-系列(四)模型性能和误差分析

 

在本文中,我们将更深入地研究模型评估和性能指标,以及可能遇到的与预测有关的潜在错误。

 

残差和分类结果

在深入研究模型性能和误差类型之前,我们必须首先讨论用于回归的残差和误差,用于分类问题的正负分类以及样本内与样本外测量的概念。

关于用于训练,验证或调整预测模型(即您拥有的数据)的数据所涉及的模型,度量或误差的任何引用均称为样本内。相反,通常将引用测试数据度量标准和错误或新数据的内容称为样本外(即,您没有的数据)。

回想一下,回归涉及根据一组输入变量(特征/预测变量)预测连续值的输出(响应)。来自样本内数据的模型的预测响应值和实际观察到的响应值之间的差异称为每个点的残差,残差统称为所有预测值和实际值之间的所有差异。每个样本外(新数据/测试数据)差异都称为预测误差,而不是残差。

对于分类的情况,为简单起见,我们将仅讨论二进制分类(两个类)。在对数据观测进行分类之前,必须定义什么是肯定分类和什么是否定分类。对于垃圾邮件或火腿(即非垃圾邮件),垃圾邮件可能是肯定的,而火腿是否定的。

如果模型预测传入的电子邮件是垃圾邮件,并且确实是垃圾邮件,那么这被认为是肯定的。由于模型预测垃圾邮件(肯定类别),因此为正;由于模型实际与预测匹配,因此为真。相反,如果传入的电子邮件实际上不是垃圾邮件,则标记为垃圾邮件,则认为是误报。

鉴于此,我们可以看到,基于新数据的分类模型的结果可以归为四个潜在的类别。这些包括:真肯定,假肯定(类型1错误),真否定和假否定(类型2错误)。在所有四种情况下,“是”或“否”是指实际类别是否与预测的类别相匹配,而“正”或“否”是指模型将哪种分类分配给观察值。

注意,在这种情况下,false是错误的代名词,因为模型无法正确预测。

模型性能概述

既然我们已经介绍了残差和分类结果类型,我们将开始讨论基于这些概念的模型性能指标。

这是在机器学习和预测分析中使用的模型评估方法,可视化和性能指标的详尽列表。它们按照其最常见的用例进行分类,但有些可能会应用于多个类别(例如,准确性)。

除了模型评估之外,其中许多还可以用于模型比较,选择和调整。当与本系列前面介绍的交叉验证技术结合使用时,其中许多功能将非常强大。

  • 回归表现

    • R2和调整后的R2(又名解释方差)

    • 均方误差(MSE)或均方根误差(RMSE)

    • 平均误差或平均绝对误差

    • 中位数误差或中位数绝对误差

  • 分类表现

    • 混淆矩阵

    • 精确

    • 召回(又名灵敏度)

    • 特异性

    • 准确性

    • 电梯

    • ROC曲线下的面积(AUC)

    • F分数

    • 对数损失

    • 平均精度

    • 精度/召回收支平衡点

    • 均方根误差(RMSE)

    • 平均交叉熵

    • 概率校准

  • 偏差方差折衷和模型复杂性

    • 验证曲线

    • 学习曲线

    • 残差平方和

    • 拟合优度指标

  • 模型验证和选择

    • 锦葵

    • 赤池信息标准(AIC)

    • 贝叶斯信息准则(BIC)

应该根据问题域,项目目标和业务目标来选择绩效指标。不幸的是,还没有一种万能的方法,并且经常需要权衡取舍。

尽管所有这些方法和指标的讨论都超出了本系列的讨论范围,但接下来我们将介绍一些关键的方法和指标。

模型性能评估指标

回归

有许多指标可用于确定回归问题的模型性能,但最常用的指标称为均方误差(MSE),或称为均方根误差(RMSE)的变化,其均方根为均方误差。通常首选均方根误差,因为取平方根会将误差测量的单位更改为相同并与响应变量的单位成比例。

在这种情况下,误差是给定的模型预测值与样本外观察的实际值之间的差值。因此,均方误差是所有新观测值中所有平方误差的平均值,与将所有平方误差(平方和)相加并除以观测数相同。

除了用作独立的性能指标之外,均方误差(或RMSE)还可以用于模型选择,控制模型复杂性和模型调整。通常会创建和评估许多模型(例如,交叉验证),然后在y轴上绘制MSE(或类似指标),并在x轴上给出调整或验证参数。

在每个模型创建和评估步骤中都会更改调整或验证参数,并且上述图可以帮助确定理想的调整参数值。在这种情况下,预测变量的数量是潜在调整参数的一个很好的例子。

在继续分类之前,值得一提的是R2。R2通常被认为是衡量模型性能的指标,但实际上并非如此。R2是模型解释的方差量的量度,以0到1之间的数字表示。值1表示模型完美地解释了所有数据,但是当使用训练数据进行计算时,它更能说明问题潜在的过度拟合比高预测性能。

如前所述,模型越复杂,模型越倾向于更好地拟合数据并可能过度拟合,或者导致额外的模型差异。鉴于此,调整后的R2是一种更健壮和可靠的指标,因为它可以针对模型复杂性的任何增加进行调整(例如,添加更多的预测变量),从而可以更好地衡量基础模型的改进,以代替增加的复杂性。

分类

回忆一下二元分类器的不同结果,它们是真实肯定,真实否定,错误肯定和错误否定。这些通常显示在混淆矩阵中。这是Wikipedia的一个非常概括和全面的示例,请注意,该图形显示的是概念和指标,而不是实际数据。

这是Wikipedia的示例,其中针对200个观察值评估了不同分类器模型的值。注意跨不同模型的度量的计算和变化。

如图所示,概念上的混淆矩阵是许多分类性能指标的基础。我们将在这里讨论与机器学习相关的一些较流行的方法。

准确性是性能的关键指标,更具体地说,是模型能够针对给定的数据点或观察值预测正确值(分类或回归)的速率。换句话说,准确性是正确预测在所有预测中所占的比例。

值得讨论的混淆矩阵中的其他两个指标是精度和召回率。精确度(阳性预测值)是真实阳性与所做出阳性预测总量(即对或错)的比率。换句话说,精度测量的是所有做出的积极预测中准确的积极预测的比例。

另一方面,回想率或真实阳性率是真实阳性与实际阳性总量(无论是否正确预测)的比率。因此,换句话说,召回衡量的是所有实际积极观察中准确的积极预测所占的比例。

与精度和召回率相关联的度量标准称为F分数(也称为F1得分),该分数在数学上进行了组合(有点像加权平均值),以便基于这两个指标的同时值来产生绩效的单个衡量指标。其值的范围从0(最差)到1(最佳)。

要了解的另一个重要概念是接收机的工作特性,将其绘制出来会产生所谓的ROC曲线(如下所示,图片来自英语Wikipedia的BOR)。

ROC曲线是灵敏度(召回率或真实阳性率)与特异性(假阳性率)的二维图。曲线下的面积称为AUC,是用于表示分类器(模型)的质量和性能的数值度量。

0.5的AUC基本上与没有模型的随机猜测相同,而1.0的AUC被认为是理想的分类器。通常,AUC值越高越好,高于0.8的AUC被认为是非常好的。

AUC值越高,曲线越接近曲线的左上角。可以很容易地从ROC曲线中看出,目标是找到并调整一个模型,该模型可以使真实的阳性率最大化,同时将假阳性率最小化。换句话说,ROC曲线所示的目标是正确地预测尽可能多的实际正值,同时还要预测尽可能多的实际负值,从而使两者的误差(分类错误)最小化。

如本系列前面所述,可以通过多种方式来衡量模型的性能,并且应该根据项目目标,业务领域考虑等来选择所使用的方法。

还值得注意的是,许多专家认为,由于各种原因,不同的性能指标存在偏差。考虑到本主题的广度和复杂性,鼓励读者参考外部资源以获取有关性能评估和权衡取舍的更多信息。

误差分析与权衡

与机器学习和预测分析相关的错误有多种类型。主要类型是样本内和样本外错误。样本内错误(aka替代错误)是从训练数据(即用于建立预测模型的数据)中发现的错误率。

样本外错误(又称为泛化错误)是在新数据集上发现的错误率,并且是最重要的,因为它们代表给定预测模型对新数据和看不见数据的潜在性能。

样本中的错误率可能非常低,似乎表明该模型的性能很高,但是必须小心,因为这可能是由于上述过拟合导致的,因此导致模型无法很好地推广到新数据。

训练和验证数据用于构建,验证和调整模型,而测试数据用于评估模型性能和泛化能力。需要注意的非常重要的一点是,在评估用于非训练或新数据(样本外)的模型时,仅应对测试数据进行预测性能和误差分析。

一般而言,训练数据的模型性能趋于乐观,因此数据误差将小于涉及测试数据的误差。机器学习从业者必须考虑并经常选择接受的错误类型之间需要权衡取舍。

对于二进制分类问题,有两种主要类型的错误。类型1错误(误报)和类型2错误(误报)。通常可以通过模型选择和调整来增加一个,同时减少另一个,并且通常必须选择哪种错误类型更可接受。根据情况,这可能是主要的折衷考虑。

这种权衡困境的典型示例涉及癌症诊断,其中对癌症的阳性诊断是基于某种测试。在这种情况下,误报意味着有人告诉自己患了癌症,而没有。相反,假阴性案例是当有人被告知自己实际上没有癌症时。

如果没有模型是完美的,那么在上面的示例中,哪种错误类型更可接受?换句话说,我们可以在更大程度上接受哪一个?

告诉别人自己不患有癌症,会导致巨大的情绪困扰,压力,额外的测试和医疗费用,等等。另一方面,未能在实际患有癌症的人中发现癌症可能意味着生与死之间的差异。

在垃圾邮件或火腿邮件中,这两种错误类型都不会像癌症病例那样严重,但是通常,电子邮件供应商在让一些垃圾邮件进入收件箱的那边犯了更多的错误,而不是因为垃圾邮件分类器而丢失了非常重要的电子邮件太激进了

 

喜欢点下关注,你的关注是我写作的最大支持

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值