理解精确率和召回率
介绍
创建任何机器学习模型时,我们首先想到的是如何创建一个准确且“拟合良好”的模型,以及在此过程中会遇到哪些问题。机器学习中最重要但也最令人困惑的两个概念是召回率和精确率。精确率和召回率是机器学习中模式识别和分类的性能指标。要构建一个完美的机器学习模型,从而产生更精确和准确的结果,就需要理解这些概念。在机器学习中,有些模型需要更高的召回率,而另一些模型需要更高的精确率。因此,理解精确率-召回率权衡,或者简单地说,精确率和召回率之间的平衡至关重要。
本文将解释精确率和召回率,这是许多专业人员在整个数据科学和机器学习生涯中遇到的最具挑战性但又最关键的机器学习主题之一。但首先,我们必须理解混淆矩阵的概念。
机器学习中的混淆矩阵
混淆矩阵是一种工具,可以显示机器学习模型的性能或其预测结果。
使用混淆矩阵,我们可以看到我们的模型在尝试区分两个类别时存在哪些不足。一个 2 x 2 矩阵,其中行包含实际的真实标签,列代表预测的标签,这使得它易于理解。
预测值 | |||
实际值 | 正例 | 反例 | |
正例 | 真正例 (True Positive) | 假反例 (False Negative) | |
反例 | 假正例 (False Positive) | 假反例 (False Negative) |
这个矩阵有四个主要组成部分,每个部分都提供不同的度量来计算准确和不准确预测的数量。每个元素包含两个词,其中一个是真 (True) 或假 (False),正例或反例。
如果预测标签和真实标签一致,则预测被认为是正确的;但如果预测标签和真实标签不匹配,则预测被认为是错误的。此外,矩阵中的预测标签由正例和反例表示。
混淆矩阵有四个指标组合,如下所示:
真正例 (True Positive) - 此组合显示模型将正样本准确地标记为正例的频率。
假反例 (False Negative) - 此组合显示模型错误地将正样本识别为反例的频率。
假正例 (False Positive) - “假正例”表示模型将反样本错误分类为正例的次数。
真反例 (True Negative) - 此组合显示模型正确地将反样本识别为反例的频率。
精确率
精确率是指正确分类的正样本 (真正例) 与所有被分类为正样本的样本总数(正确或错误)的比例。
因此,精确率有助于了解机器学习模型在将模型分类为正例方面的可靠性。
精确率 = TP / (TP + FP)
我们可以用它来衡量模型对正样本进行分类的准确程度。在计算模型的精确率时,我们必须考虑被识别的正例和反例数据。当模型正确识别大多数正样本以及许多假正例时,该模型被认为具有高召回率和低精确率。确定机器学习模型的准确性需要正例和反例样本。在精确率中,应考虑所有正样本,无论它们是正确还是错误地被识别为正例。
召回率
召回率定义为正确识别为正例的正样本比例与所有正样本的比例。召回率衡量模型识别正样本的能力。识别的正样本越多,召回率越高。
召回率 = TP / (TP + FN)
与精确率相反,召回率不受错误样本分类数量的影响。此外,如果模型将所有正例数据标记为正例,则召回率将为 1。
它有助于量化机器学习模型正确识别的正样本数量。确定模型的召回率只需要正样本;所有反样本都被忽略。如果模型只能将少量正样本分类为正例,则该模型被认为具有高准确率、高精确率和低召回率。机器学习模型的召回率受正例的影响,不受反例的影响。正确识别所有正样本对于召回率至关重要。它不考虑将任何反样本分类为正例。
为什么在机器学习模型中使用精确率和召回率?
所有数据科学家和机器学习工程师经常互相问这个问题。根据处理的问题类型,使用精确率和召回率的方法不同。如果需要将正例和反例样本都分类为正例,无论分类是否准确,都应使用精确率。另一方面,如果您的目标只是查找正样本,则使用召回率。在这里,反样本是否被正确或错误地标记并不重要。
结论
在本课程中,我们介绍了用于机器学习模型二元分类的各种性能指标,包括混淆矩阵、精确率和召回率。此外,我们还看到了如何确定机器学习模型的精确率和召回率以及何时应用每一个的几个示例。