原文:
www.kdnuggets.com/2020/04/performance-evaluation-metrics-classification.html
评估模型是构建有效机器学习模型的关键部分。我们使用的最常见分类评估指标应该是准确率。你可能会认为当准确率达到 99%时模型很好!然而,这并不总是准确的,并且在某些情况下可能会误导。我将在本文中解释如下 4 个方面:
-
2 类分类问题的混淆矩阵
-
关键分类指标:准确率、召回率、精准率和 F1 分数
-
召回率和精准率在特定情况下的区别
-
决策阈值和接收者操作特征(ROC)曲线
1. 谷歌网络安全证书 - 快速进入网络安全职业生涯。
2. 谷歌数据分析专业证书 - 提升你的数据分析水平
3. 谷歌 IT 支持专业证书 - 支持你的组织的 IT 工作
在任何二分类任务中,我们的模型只能得到两种结果:正确或不正确。假设我们现在有一个分类任务,要预测一张图像是狗还是猫。在监督学习中,我们首先在训练数据上拟合/训练一个模型,然后在测试数据上测试该模型。一旦我们从X_test数据中获得模型的预测结果,我们将其与真实的 y_values(正确标签)进行比较。
在模型预测之前,我们将狗的图像输入到我们训练好的模型中。模型预测这是一只狗,然后我们将预测结果与正确标签进行比较。如果我们将预测结果与“狗”的标签进行比较,则预测正确。然而,如果预测结果是这张图像是一只猫,那么与正确标签的比较将是不正确的。
我们对 X 测试数据中的所有图像重复这一过程。最终,我们将获得正确匹配的数量和错误匹配的数量。关键的认识是,并非所有的错误或正确匹配在现实中都具有相同的价值。因此,单一指标不能全面反映情况。
如前所述,准确率是分类问题中的常见评估指标,即正确预测的总数除以数据集上做出的总预测数。当目标类别平衡良好时,准确率是有用的,但对于不平衡的类别就不太适用。想象一下我们有 99 张狗的图片和只有 1 张猫的图片在训练数据中,我们的模型将只是一个总是预测狗的线,因此得到了 99%的准确率。现实中数据总是失衡的,如垃圾邮件、信用卡欺诈和医疗诊断。因此,如果我们想全面了解模型评估,还应考虑其他指标,如召回率和精准度。
对分类模型性能的评估基于模型正确和错误预测的测试记录计数。混淆矩阵提供了一个更有洞察力的图景,它不仅展示了预测模型的性能,还显示了哪些类别被正确和错误预测,错误类型是什么。为了说明这一点,我们可以看到四个分类指标(TP、FP、FN、TN)是如何计算的,并且在下面的混淆矩阵表中,我们的预测值与实际值的对比被清晰地呈现出来。
可能的分类结果:TP、FP、FN、TN。
混淆矩阵对于测量召回率(也称为敏感性)、精准度、特异性、准确率以及最重要的 AUC-ROC 曲线非常有用。
读表格时你感到困惑吗?这是正常的。我之前也是如此。让我用怀孕类比来解释 TP、FP、FN 和 TN 的术语。这样我们可以理解召回率、精准度、特异性、准确率,更重要的是 AUC-ROC 曲线。
召回率与精准度
精准度 是模型预测的所有正样本中真实正样本的比例。
低精准度:模型预测的假阳性越多,精准度越低。
召回率(敏感性) 是数据集中所有正样本中真实正样本的比例。
低召回率:模型预测的假阴性越多,召回率越低。
召回率和精准度的概念似乎很抽象。让我通过三个实际案例来说明差异。
-
TP 的结果是 COVID-19 居民被诊断为 COVID-19。
-
TN 的结果是健康的居民身体健康。
-
FP 的结果是那些实际上健康的居民被预测为 COVID-19 居民。
-
FN 的结果是那些实际的 COVID-19 居民被预测为健康居民。
在情况 1 中,你认为哪个场景的成本会最高?
想象一下,如果我们将 COVID-19 居民预测为健康患者,而他们不需要隔离,这将导致大量的 COVID-19 感染。假阴性的成本要远高于假阳性的成本。
-
TP 的结果是垃圾邮件被放入垃圾邮件文件夹。
-
TN 的结果是重要的电子邮件被收到。
-
FP 的结果是重要的电子邮件被放入垃圾邮件文件夹。
-
FN 的结果是垃圾邮件被收到。
在情况 2 中,你认为哪个场景的成本会最高?
嗯,由于错过重要的电子邮件显然比收到垃圾邮件更严重,我们可以说,在这种情况下,FP 的成本会高于 FN。
-
TP 的结果是坏贷款被正确预测为坏贷款。
-
TN 的结果是好贷款被正确预测为好贷款。
-
FP 的结果是(实际的)好贷款被错误预测为坏贷款。
-
FN 的结果是(实际的)坏贷款被错误预测为好贷款。
在情况 3 中,你认为哪个场景的成本会最高?
如果实际的坏贷款被预测为好贷款,银行将损失大量资金,因为贷款无法偿还。另一方面,如果实际的好贷款被预测为坏贷款,银行将无法获得更多收入。因此,假阴性的成本要远高于假阳性的成本。想象一下吧。
总结
在实际应用中,假阴性的成本与假阳性的成本不同,这取决于具体情况。显然,我们不仅应计算准确率,还应使用其他指标来评估我们的模型,例如 召回率 和 精确率。
在上述三个情况中,我们希望在牺牲另一个指标的情况下,最大化召回率或精确率。例如,在好贷款或坏贷款分类的情况下,我们希望减少 FN 以提高召回率。然而,在我们希望找到精确率和召回率的最佳结合的情况下,我们可以通过使用 F1 分数 将这两个指标结合起来。
F-Measure 提供了一个综合精确率和召回率的单一评分。一个好的 F1 分数意味着你有低假阳性和低假阴性,因此你能正确识别实际威胁,并且不会被虚假警报所干扰。当 F1 分数为 1 时,表示模型完美;而当 F1 分数为 0 时,表示模型完全失败。
ROC 是呈现分类模型性能的主要可视化技术。它总结了使用不同概率阈值时预测模型的真正率(tpr)和假正率(fpr)之间的权衡。
tpr 和 fpr 的公式。
真正率(tpr)是召回率,而假正率(FPR)是误报的概率。
ROC 曲线绘制了真正率(tpr)与假正率(fpr)之间的关系,作为模型分类正例的阈值函数。考虑到c是称为决策阈值的常数,下图 ROC 曲线表明默认 c=0.5,当 c=0.2 时,tpr 和 fpr 都增加;当 c=0.8 时,tpr 和 fpr 都减少。一般来说,tpr 和 fpr 随着 c 的减少而增加。在极端情况下,当 c=1 时,所有案例被预测为负例;tpr=fpr=0。而当 c=0 时,所有案例被预测为正例;tpr=fpr=1。
ROC 图。
最终,我们可以通过 ROC 曲线下的面积(AUC)来评估模型的性能。作为经验法则,0.9–1=优秀;0.8-0.9=良好;0.7–0.8=中等;0.6–0.7=差;0.50–0.6=失败。
-
二分类问题的混淆矩阵
-
主要分类指标:准确率、召回率、精准率和 F1 分数
-
召回率与精准率在特定情况下的区别
-
决策阈值和接收者操作特征(ROC)曲线
Clare Liu 是一位在香港金融科技行业的 数据科学家。热衷于解决关于数据科学和机器学习的难题。加入我,一起踏上自学之旅。