机器学习中的性能指标2025年6月21日 | 9分钟阅读 评估机器学习模型的性能是构建有效机器学习模型的重要步骤之一。为了评估模型的性能或质量,我们使用不同的指标,这些指标被称为性能指标或评估指标。这些性能指标帮助我们了解模型在给定数据上的表现如何。通过这种方式,我们可以通过调整超参数来提高模型的性能。每个机器学习模型的目标都是在未见过的/新数据上具有良好的泛化能力,而性能指标有助于确定模型在新数据集上的泛化能力如何。 ![]() 在机器学习中,每个任务或问题都分为分类和回归。并非所有指标都可以用于所有类型的问题;因此,了解和理解应该使用哪些指标非常重要。对于回归和分类任务,会使用不同的评估指标。在本主题中,我们将讨论用于分类和回归任务的指标。 1. 分类性能指标在分类问题中,数据的类别是基于训练数据来识别的。模型从给定的数据集中学习,然后根据训练将新数据分类到不同的类别或组中。它预测类别标签作为输出,例如是或否,0或1,垃圾邮件或非垃圾邮件等。为了评估分类模型的性能,我们使用不同的指标,其中一些如下:
I. 准确率准确率指标是实现起来最简单的分类指标之一,它可以定义为正确预测的数量与总预测数量的比值。 其公式可以表示为: ![]() 要实现准确率指标,我们可以在循环中比较真实值和预测值,或者我们也可以使用 scikit-learn 模块来实现。 首先,我们需要从 scikit-learn 库中导入 accuracy_score 函数,如下所示: 虽然它使用和实现起来很简单,但它只适用于每个类别样本数量相等的情况。 何时使用准确率? 当数据中目标变量的类别大致平衡时,使用准确率指标是很好的选择。例如,如果一个水果图像数据集中60%的类别是苹果,40%是芒果。在这种情况下,如果要求模型预测图像是苹果还是芒果,它会给出97%的准确率预测。 何时不应使用准确率? 当目标变量主要属于某一类时,建议不要使用准确率指标。例如,假设有一个疾病预测模型,在100人中,只有5人患有该疾病,而95人没有。在这种情况下,如果我们的模型预测每个人都没有疾病(这意味着是一个糟糕的预测),准确率指标将是95%,这是不正确的。 II. 混淆矩阵混淆矩阵是任何二元分类器预测结果的表格表示,用于在真实值已知的情况下,描述分类模型在一组测试数据上的性能。 混淆矩阵实现起来很简单,但其中使用的术语可能会让初学者感到困惑。 一个典型的二元分类器混淆矩阵如下图所示(当然,它也可以扩展用于具有两个以上类别的分类器)。 ![]() 我们可以从上表中确定以下内容:
通常,该表分为四个术语,如下所示:
III. 精确率精确率指标用于克服准确率的局限性。精确率确定了正向预测中实际正确的比例。它可以计算为真正例(即实际为真的预测)与总正向预测(真正例和假正例)的比值。 ![]() IV. 召回率或灵敏度它也与精确率指标相似;然而,它旨在计算被错误识别的实际正例的比例。它可以计算为真正例(即实际为真的预测)与所有实际正例(无论是被正确预测为正例还是被错误预测为负例,即真正例和假负例)的比值。 计算召回率的公式如下: ![]() 何时使用精确率和召回率? 根据上述精确率和召回率的定义,我们可以说,召回率衡量了分类器在假负例方面的性能,而精确率则提供了关于分类器在假正例方面性能的信息。 所以,如果我们想最小化假负例,那么召回率应该尽可能接近100%;如果我们想最小化假正例,那么精确率应该尽可能接近100%。 简单来说,如果我们最大化精确率,就会最小化 FP 错误;如果我们最大化召回率,就会最小化 FN 错误。 V. F1分数F分数或F1分数是一个用于评估二元分类模型的指标,它基于对正类的预测。它是通过精确率和召回率计算得出的。它是一种单一分数,同时代表了精确率和召回率。所以,F1分数可以计算为精确率和召回率的调和平均值,并给予它们同等的权重。 计算 F1 分数的公式如下: ![]() 何时使用 F1 分数? 由于 F1 分数同时利用了精确率和召回率,所以当两者对于评估都很重要,但其中一个(精确率或召回率)比另一个稍微更重要时,就应该使用它。例如,当假负例比假正例相对更重要时,或者反之亦然。 VI. AUC-ROC有时我们需要在图表上可视化分类模型的性能;这时我们可以使用 AUC-ROC 曲线。它是评估分类模型性能的流行且重要的指标之一。 首先,让我们理解 ROC(受试者工作特征曲线)曲线。ROC 是一张图表,用于显示分类模型在不同阈值水平下的性能。该曲线是在两个参数之间绘制的,分别是:
TPR 或真正例率是召回率的同义词,因此可以计算为: ![]() FPR 或假正例率可以计算为: ![]() 要计算 ROC 曲线上任意一点的值,我们可以用不同的分类阈值多次评估一个逻辑回归模型,但这效率不高。因此,有一种更高效的方法被使用,即 AUC。 AUC: ROC曲线下面积AUC 指的是 ROC 曲线下面积。顾名思义,AUC 计算了整个 ROC 曲线下的二维面积,如下图所示: ![]() AUC 计算了所有阈值下的性能,并提供了一个综合度量。AUC 的值范围从 0 到 1。这意味着一个 100% 错误预测的模型 AUC 为 0.0,而一个 100% 正确预测的模型 AUC 为 1.0。 何时使用 AUC AUC 应该用于衡量预测的排名好坏,而不是它们的绝对值。此外,它衡量的是模型预测的质量,而无需考虑分类阈值。 何时不应使用 AUC 由于 AUC 是尺度不变的,但这并不总是理想的,当我们还需要校准概率输出时,AUC 就不是首选。 此外,当假负例和假正例的成本存在巨大差异,并且很难最小化其中一类分类错误时,AUC 不是一个有用的指标。 2. 回归性能指标回归是一种监督学习技术,旨在找出因变量和自变量之间的关系。预测性回归模型预测一个数值或离散值。用于回归的指标与分类指标不同。这意味着我们不能使用准确率指标(上文解释过)来评估回归模型;相反,回归模型的性能通常以预测误差的形式报告。以下是用于评估回归模型性能的常用指标。
I. 平均绝对误差 (MAE)平均绝对误差或 MAE 是最简单的指标之一,它测量实际值和预测值之间的绝对差,其中“绝对”意味着将数字视为正数。 为了理解 MAE,让我们以线性回归为例,模型在因变量和自变量之间画出一条最佳拟合线。为了测量 MAE 或预测误差,我们需要计算实际值和预测值之间的差。但是为了找到整个数据集的绝对误差,我们需要找到整个数据集的平均绝对值。 计算 MAE 使用以下公式: ![]() 此处, Y 是实际结果,Y' 是预测结果,N 是数据点的总数。 MAE 对异常值更具鲁棒性。MAE 的一个局限性是它不可微,因此我们需要应用不同的优化器,如梯度下降。然而,为了克服这个局限性,可以使用另一个指标,即均方误差或 MSE。 II. 均方误差均方误差或 MSE 是回归评估中最合适的指标之一。它测量模型给出的预测值和实际值之间平方差的平均值。 由于在 MSE 中,误差是平方的,因此它只取非负值,并且通常是正且非零的。 此外,由于平方差,它也会惩罚小的误差,因此会导致高估模型的糟糕程度。 与其他回归指标相比,MSE 是一个更受青睐的指标,因为它是可微的,因此可以更好地进行优化。 计算 MSE 的公式如下: ![]() 此处, Y 是实际结果,Y' 是预测结果,N 是数据点的总数。 III. R 平方分数R 平方误差也称为决定系数,是另一个用于回归模型评估的流行指标。R 平方指标使我们能够将我们的模型与一个恒定的基线进行比较,以确定模型的性能。为了选择恒定基线,我们需要取数据的平均值,并在平均值处画一条线。 无论值是大是小,R 平方分数总是小于或等于 1。 ![]() IV. 调整后的 R 平方调整后的 R 平方,顾名思义,是 R 平方误差的改进版本。R 平方有一个局限性,即即使模型没有改进,增加项也会导致分数提高,这可能会误导数据科学家。 为了克服 R 平方的问题,使用了调整后的 R 平方,它总是显示比 R² 更低的值。这是因为它会调整增加预测变量的值,并且只有在有真正改进时才会显示改进。 我们可以如下计算调整后的 R 平方: ![]() 此处, n 是观测值的数量 k 表示自变量的数量 而 Ra2 表示调整后的 R2 下一个主题如何为机器学习将numpy数组保存到文件 |
我们请求您订阅我们的新闻通讯以获取最新更新。