机器学习中的精确率与召回率2025年6月18日 | 阅读 7 分钟 在构建任何机器学习模型时,我们首先想到的就是如何构建一个准确且“拟合良好”的模型,以及在此过程中会遇到哪些挑战。精确率(Precision)和召回率(Recall)是机器学习中最重要但又最容易混淆的两个概念。精确率和召回率是用于机器学习中模式识别和分类的性能指标。 这些概念对于构建一个能提供更精确、更准确结果的完美机器学习模型至关重要。一些机器学习模型需要更高的精确率,而另一些模型需要更高的召回率。因此,了解精确率和召回率之间的平衡,或者简单地说,精确率-召回率权衡(precision-recall trade-off)非常重要。 ![]() 在本文中,我们将理解机器学习中这两个最令人困惑但又最重要的概念:精确率和召回率,许多专业人士在整个数据科学和机器学习职业生涯中都会遇到它们。但在开始之前,我们首先需要理解混淆矩阵(Confusion Matrix)的概念。那么,让我们从机器学习中混淆矩阵的快速介绍开始。 机器学习中的混淆矩阵混淆矩阵有助于我们展示模型的性能,或者模型在机器学习中的预测方式。 混淆矩阵帮助我们可视化模型在区分两个类别时感到困惑的点。这可以通过一个 2x2 的矩阵来很好地理解,其中行代表实际的真实标签,列代表预测的标签。 ![]() 这个矩阵包含 4 个主要元素,它们显示了计算正确和错误预测数量的各种指标。每个元素都有两个词,要么如下
如果预测标签和真实标签匹配,则预测被认为是正确的;但是,当预测标签和真实标签不匹配时,预测就被认为是错误的。此外,正面和负面表示矩阵中的预测标签。 混淆矩阵中有四种指标组合,如下所示
因此,我们可以使用混淆矩阵在二元分类问题中计算总共 7 个预测。 现在我们可以理解精确率和召回率的概念了。 什么是精确率?精确率定义为正确分类的阳性样本数(真阳性)与分类为阳性的总样本数(包括正确和错误分类)之比。
因此,精确率有助于我们可视化机器学习模型在将模型分类为阳性时的可靠性。 计算机器学习模型中精确率的示例以下是一些计算机器学习中精确率的示例 案例 1 - 在下面的场景中,模型正确分类了两个阳性样本,同时错误地将一个阴性样本分类为阳性。因此,根据精确率公式; ![]() 精确率 = TP / (TP + FP) 精确率 = 2 / (2 + 1) = 2/3 = 0.667 案例 2 - 在这个场景中,我们有三个被正确分类的阳性样本,以及一个被错误分类的阴性样本。 将 TP = 3 和 FP = 1 代入精确率公式,我们得到; ![]() 精确率 = TP / (TP + FP) 精确率 = 3 / (3 + 1) = 3/4 = 0.75 案例 3 - 在这个场景中,我们有三个被正确分类的阳性样本,但没有将任何阴性样本错误分类。 将 TP = 3 和 FP = 0 代入精确率公式,我们得到; 精确率 = TP / (TP + FP) 精确率 = 3 / (3 + 0) = 3/3 = 1 因此,在最后一个场景中,当所有阳性样本都被分类为阳性,并且没有任何阴性样本被错误分类时,我们的精确率值为 1 或 100%。 什么是召回率?召回率计算为正确分类为阳性的阳性样本数与所有阳性样本总数之比。召回率衡量模型检测阳性样本的能力。召回率越高,检测到的阳性样本越多。
与精确率不同,召回率独立于负样本分类的数量。此外,如果模型将所有阳性样本都分类为阳性,则召回率将为 1。 计算机器学习模型中召回率的示例以下是一些计算机器学习中召回率的示例,如下所示 示例 1 - 让我们通过四个不同的案例来理解召回率的计算,每个案例的召回率均为 0.667,但在负样本分类方面有所不同。看看如何 ![]() 在这个场景中,每个案例中负样本的分类都不同。案例 A 有两个负样本被分类为负,案例 B 有两个负样本被分类为负;案例 C 只有一个负样本被分类为负,而案例 D 没有将任何负样本分类为负。 然而,召回率独立于模型中负样本的分类方式;因此,我们可以忽略负样本,只计算所有被分类为阳性的样本。 ![]() 在上图中,我们只有两个阳性样本被正确分类为阳性,而只有一个负样本被正确分类为负。 因此,真阳性率为 2,假阴性率为 1。那么召回率将是 召回率 = TP / (TP + FN) =2/(2+1) =2/3 =0.667 注意:这意味着模型只正确分类了 0.667% 的阳性样本。示例-2 现在,我们有了另一个场景,其中所有阳性样本都被正确分类为阳性。因此,真阳性率为 3,假阴性率为 0。 ![]() 召回率 = TP / (TP + FN) = 3 / (3 + 0) = 3/3 = 1 如果召回率为 100%,则表明模型已将所有阳性样本检测为阳性,而不考虑模型中所有负样本的分类方式。然而,模型可能仍然有许多被分类为阴性的样本,但召回率只是忽略了这些样本,这导致模型中出现很高的假阳性率。 注意:这意味着模型已正确分类 100% 的阳性样本。示例-3 在这个场景中,模型没有识别出任何被分类为阳性的阳性样本。所有阳性样本都被错误地分类为阴性。因此,真阳性率为 0,假阴性率为 3。那么召回率将是 召回率 = TP / (TP + FN) = 0 / (0 + 3) = 0/3 = 0 这意味着模型没有正确分类任何阳性样本。 机器学习模型中精确率与召回率的区别
为什么要在机器学习模型中使用精确率和召回率?这个问题在所有机器学习工程师和数据研究人员中都非常普遍。精确率和召回率的使用取决于所解决问题的类型。
结论在本教程中,我们讨论了机器学习模型二元分类问题的各种性能指标,如混淆矩阵、精确率和召回率。此外,我们还通过各种示例计算了机器学习模型的精确率和召回率,以及何时应使用精确率,何时应使用召回率。 下一主题如何在机器学习中进行秩相关分析 |
我们请求您订阅我们的新闻通讯以获取最新更新。