准确率、精确率、召回率还是 F1 分数?

2025年3月17日 | 阅读 7 分钟

评估指标用于计算模型的整体性能。评估模型有效性最常用的指标是准确率、精确率、召回率和 F1 分数。这些指标提供了关于模型做出正确预测和避免错误能力的宝贵见解。

本文将探讨这些指标,认识它们的意义以及它们如何为标准的性能评估提供一个完整的版本做出贡献。

什么是评估指标?

评估指标是用于机器学习、数据分析和信息检索等多个领域的标准化测量方法,用于评估模型、算法或系统的有效性、准确性和性能。这些指标提供了关于模型性能的可衡量数据,帮助研究人员和从业人员确定模型是否适合给定的项目。评估指标对于比较不同模型、选择性能最佳的模型以及微调算法以实现特定目标至关重要。

通过研究模型的预测能力和平均质量来评估系统非常重要。评估指标为量化这些因素提供了客观标准。具体的问题领域、数据类型和预期结果都会影响所选的评估指标。

有一些评估指标用于比较机器学习模型的性能。包括混淆矩阵、精确率、召回率、F1 分数、准确率等。

最简单易用的技术是准确率、精确率、召回率和 F1 分数。但是问题是,应该使用哪一个?何时使用?为何使用?最主要的问题是,哪一个最好?

理解不同的评估指标

1. 准确性

下面重点介绍的评估方法通常被称为准确率,它作为衡量预测模型有效性的标尺。它包括将正确和错误预测的数量与真实观察的数量进行比较。最终,重要的是有效预测的观察次数与预测总数的比率。

有效预测的观察次数除以预期观察总数就得出了准确率比率。该比率表示预测模型的有效程度以及其对新数据点的分类能力。模型的准确率随着比率接近一而增加。

这种方法广泛应用于数据科学、数据挖掘和机器学习等许多领域。它有助于识别预测模型的优势和劣势,并允许根据需要进行修改。准确率是预测模型的一个关键性能指标,对于从预测结果中得出明智的结论至关重要。

准确率评估指标的公式是

Accuracy, Precision, Recall or F1

可以使用 sklearn 库进行评估

也可以写成

accuracy_score(y_true, y_pred_class)

2. 精确率

精确率是用于衡量模型所做阳性预测准确性的基本评估指标。它是模型评估的一个关键方面,因为它帮助我们确定模型正确识别阳性病例的能力。精确率的计算方法是真实阳性预测数与真实阳性预测数和假阳性预测数之和的比率。

要理解精确率,了解真实阳性、有效阳性和假阳性预测的含义至关重要。真实阳性预测是指模型正确识别了一个阳性病例,而假阳性预测是指模型错误地将一个阴性病例识别为阳性。

精确率是与模型所做的所有阳性预测的总数相比,模型所做的真实阳性预测的正确性的衡量标准。它代表了可以被明确认为是真实阳性的阳性预测的比例。高精确率分数表明模型正在做出准确的阳性预测,而低精确率分数则表明模型正在做出过多的假阳性预测。

精确率评估指标的公式是

Accuracy, Precision, Recall or F1

这可以使用 Python 中的 sklearn.metrics 库进行评估

输出

或者可以直接写成

precision_score(y_true, y_pred_class)

3. 召回率

召回率是用于比较机器学习模型性能的关键指标。它也被称为灵敏度或真实阳性率。召回率衡量模型识别出阳性类别的所有相关实例的能力。换句话说,它是模型成功识别为阳性的真实阳性实例的百分比。

召回率的计算方法是将真实阳性数量除以真实阳性数量和假阴性数量的总和。真实阳性是指模型成功预测为阳性类别的实例数量,而假阴性是指模型错误地预测为阴性类别的实例数量。

高召回率分数表明模型在识别出大多数相关阳性实例方面取得了成功。另一方面,低召回率分数表明模型可能遗漏了重要的阳性实例。因此,在评估机器学习模型的有效性时,召回率是一个需要考虑的关键指标。

召回率评估指标的公式是

Accuracy, Precision, Recall or F1

输出

召回率评估指标也可以这样计算

recall_score(y_true, y_pred_class)

4. F1 分数

F1 分数是一个流行的评估指标,用于二分类问题来评估模型的整体性能。它的计算方法是精确率和召回率的调和平均数,其中精确率是真实阳性数与所有预期阳性数之比,召回率是真实阳性数与所有真实阳性数之比。

在类别不平衡的情况下,F1 分数比准确率等其他指标更受欢迎。这是因为当阳性示例的数量远小于阴性示例的数量时,准确率可能会具有欺骗性。F1 分数同时考虑了假阳性和假阴性,提供了模型性能的平衡评估。

F1 分数评估指标的公式是

Accuracy, Precision, Recall or F1

输出

F1 分数可以直接使用以下方式计算

f1_score(y_true, y_pred_class)

哪一个最好使用?

在选择评估指标时,没有一种万能的解决方案适用于所有问题。相反,决定取决于您要解决的问题的具体目标、优先级和特征。选择合适的指标通常需要考虑不同因素之间的权衡,因为没有一个完美的指标能够捕捉到问题的每个方面。最终,指标的选择应与项目的总体目标一致,并提供对所评估模型或系统的性能有意义的见解。

何时使用这些评估指标?

  1. 准确率:在训练数据分布均匀且假阳性和假阴性结果大致相似的数据集中,准确率是一个很好的度量标准。准确率衡量模型在所有预测中做出正确预测的百分比,通常用作分类模型的第一轮评估指标。
    然而,在数据集不平衡或假阳性和假阴性成本差异很大的情况下,精确率、召回率和 F1 分数等其他指标可能更合适。让我们看看这些指标的使用场景。
  2. 精确率:在假阳性预测成本很高,并且目标是减少错误阳性预测数量的情况下,务必关注精确率。这种方法需要谨慎和准确地进行预测,确保阳性预测确实是真实阳性,而不是假阳性。采取这些步骤可以帮助避免代价高昂的错误并提高预测的质量。
  3. 召回率:在遗漏阳性实例的成本很高,并且需要确保尽可能多地捕获相关实例的情况下,建议选择召回率方法。召回率是一种优先识别所有相关实例的方法,即使是以识别一些不相关实例为代价。
  4. F1 分数:F1 分数是一种统计度量,在需要平衡给定数据集中的精确率和召回率时特别有用。在阳性和阴性实例数量之间存在显著不平衡,并且假阳性和假阴性对结果有不同影响的情况下,它尤其有用。通过同时考虑精确率和召回率,F1 分数提供了对模型在给定数据集上的性能更准确的评估。

结论

机器学习模型评估的关键性能指标是准确率、精确率、召回率和 F1 分数。每个指标的具体功能各不相同,而手头的任务决定了应该优先考虑哪个指标。准确率提供了模型正确性的广泛图景;然而,精确率、召回率和 F1 分数提供了关于模型性能如何更详细的信息,特别是在存在类别不平衡或错误成本差异的情况下。为了做出明智的决策并改进模型,数据分析师和机器学习专家需要透彻理解这些指标。