机器学习模型评估指南

机器学习的核心在于使计算机能够从数据和经验中获得洞察,正如人类所做的那样。在机器学习中,程序员教授计算机如何利用其与不同实体的过去经验来在未来的场景中表现得更好。机器学习涉及构建数学模型以帮助理解手头的数据。一旦这些模型适应了之前看到的数据,它们就可以用来预测新观察到的数据。

机器学习中,模型的实用性仅取决于其预测的质量;因此,根本目标不是创建模型,而是创建具有强大预测能力的高质量模型。现在将检查评估由机器学习算法生成的模型质量的策略。

二分类器预测的评估

当涉及到评估二分类器时,准确率是一个众所周知的性能指标,用于区分强大的分类模型和弱模型。准确率,简而言之,就是被正确预测的观察值的总比例。计算准确率的数学公式包括四个主要组成部分,即TP、TN、FP和FN,这些组成部分使能够探索其他机器学习模型评估指标。

准确率评估指标之所以被广泛使用,主要是因为其简单易用。正如之前讨论的,它仅仅是被正确预测的观察值的总比例(总数)。然而,当存在不平衡类别时,准确率评估指标的表现并不好;即准确率值很高,但模型缺乏预测能力,而且大多数(如果不是全部)预测都是错误的。

由于上述原因,当无法使用准确率评估指标时,被迫转向scikit-learn库中的其他评估指标。这些包括但不限于以下评估指标:

这是指所有被预测为正类的观察值中,实际上是正类的比例(总数)。精确度评估指标的公式如下:

Precision = TP / (TP + FP)

这是被预测为正类的观察值中,实际上属于正类的比例。它间接告诉模型随机识别正类观察值的能力。召回率的公式如下:

Recall = TP / (TP + FN)

这是一个平均评估指标,用于生成比率。F1分数也被称为精确度和召回率评估指标的调和平均数。这是一个衡量模型在正类预测环境中整体正确性的指标——即,模型标记为正类的观察值中,有多少实际上是正类。F1分数评估指标的公式如下:

F1 Score = 2 * (Precision * Recall) / (Precision + Recall)

多类分类器预测的评估

正如从文章的早期信息中学到的,在机器学习中,并非所有输入数据都是平衡的,因此存在不平衡类别的问题。在排除准确率评估指标后,特别转向精确度、召回率和F1分数。使用Python中的参数选项,这些选项用于通过平均值聚合评估值。有三个主要选项可供选择:

  • _macro – 指定编译器计算数据集中每个类别的度量分数的平均值,每个类别的权重相等。
  • _weighted – 计算每个类别的度量分数的平均值,并且每个类别的权重直接与其在数据集中的大小成比例。
  • _micro – 计算数据集中每个观察值的度量分数的平均值。

可视化分类器的性能

目前,通过混淆矩阵来可视化分类器的性能是最流行的方法。混淆矩阵也可以称为错误矩阵。混淆矩阵具有高度的可解释性。它包括一个简单的表格格式,通常生成并可视化为热图。混淆矩阵的每一列代表预测的类别,而每一行显示真实(或实际)的类别。

关于混淆矩阵,有三个重要的事实需要注意:

  • 一个完美的混淆矩阵将在主对角线上有值(从左到右),而混淆矩阵的其他位置将为零(0)。
  • 混淆矩阵不仅显示了机器学习模型在哪里失败了,还显示了它是如何得出这些结论的。
  • 混淆矩阵可以与任何数量的类别一起工作,即拥有包含50个类别的数据集不会影响模型性能或混淆矩阵——这只意味着可视化矩阵将非常大。

评估回归模型的性能

MSE = (1/n) * Σ(y_i - ŷ_i)^2
  • n代表数据集中的观察值数量。
  • y_i是试图预测的目标值的真实值,针对观察i。
  • ŷ_i是模型预测的y_i的值。
  • 首先,平方误差将所有误差值限制为正数。
  • 其次,这意味着模型将对少数大误差值的惩罚大于对许多小误差值的惩罚。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485