一文读懂分类模型评估指标

模型评估是深度学习和机器学习中非常重要的一部分,用于衡量模型的性能和效果。本文将逐步分解混淆矩阵,准确性,精度,召回率和F1分数。

混淆矩阵

混淆矩阵是在分类问题中用于评估模型性能的表格,它展示了模型对样本的分类情况。混淆矩阵的行表示实际类别,列表示预测类别。对于二分类问题,混淆矩阵的结构如下:

  • True Positive (TP): 实际为正例,模型预测为正例的样本数,模型正确识别正面实例的能力。更高的TP通常是可取的
  • False Negative (FN): 实际为正例,模型预测为负例的样本数,根据应用程序的不同,这可能是关键的(例如,未能检测到安全威胁)。
  • False Positive (FP): 实际为负例,模型预测为正例的样本数,强调模型在不应该预测为正的情况下预测为正的情况,这可能会产生取决于应用的后果(例如,医疗诊断中不必要的治疗)
  • True Negative (TN): 实际为负例,模型预测为负例的样本数,反映模型正确识别否定实例的能力。通常需要更高的TN

初学者看起来很乱,其实这样理解就非常简单了,后面的Negative/Positive 为模型预测值,前面的True/False 为模型预测是否正确,比如True Negative,代表,模型预测是Negative并且与实际的值对比是True 也就是预测正确的,这样就好理解了。以下是一个简单的混淆矩阵:

复制代码
 from sklearn.metrics import confusion_matrix
 import seaborn as sns
 import matplotlib.pyplot as plt
 # Example predictions and true labels
 y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]
 y_pred = [1, 0, 1, 0, 0, 1, 0, 1, 1, 1]
 # Create a confusion matrix
 cm = confusion_matrix(y_true, y_pred)
 # Visualize the blueprint
 sns.heatmap(cm, annot=True, fmt="d", cmap="Blues", xticklabels=["Predicted 0", "Predicted 1"], yticklabels=["Actual 0", "Actual 1"])
 plt.xlabel("Predicted")
 plt.ylabel("Actual")
 plt.show()

当你想强调正确的预测和整体准确性时,使用TP和TN。当你想了解你的模型所犯的错误类型时,使用FP和FN。例如,在误报成本很高的应用程序中,最小化误报可能是至关重要的。

比如一个垃圾邮件分类器。混淆矩阵可以理解正确识别了多少垃圾邮件,错误标记了多少非垃圾邮件。

基于混淆矩阵,可以计算许多其他评估指标,例如准确度、精确度、召回率和F1分数。

Accuracy

根据我们上面的总结,计算的是能够正确预测的的比例,分子是TP和TN都是True,也就是模型预测对了的总数

Precision

可以看到公式,他计算的是Positive 的占比,也就是说数据中所有Positive的,正确预测对了有多少,所以精确度Precision又被称作查准率

在误报有重大后果或成本的情况下,这是至关重要的。例如在医学诊断模型中,精确度确保只对真正需要治疗的人进行治疗。

Recall

召回率,也称为灵敏度或真阳性率,关注模型捕获所有正类实例的能力。

从公式中可以看到,它主要是计算模型捕获了多少实际的Positive,也就是Positive的占比,所以Recall又被称作查全率

F1 Score

F1分数是一个在精确度和召回率之间取得平衡的指标,为模型的性能提供了一个全面的衡量标准。它是查准率和查全率的调和平均值,计算公式为:

F1分数很重要,因为它提供了精确率和召回率之间的折衷。当你想在准确率和召回率之间找到平衡时,或者说针对一般的应用可以使用F1 Score

总结

本文对混淆矩阵、准度、精度、召回率和F1分数进行了详细的介绍,使用这些指标可以很好地评估和增强模型的性能。

https://avoid.overfit.cn/post/90571a2233f64dbc80c6732f3e817d6c

作者:Rohit Saroj

相关推荐
zzzll11113 分钟前
0基础入门大模型:一份清晰的学习路线图
人工智能·学习·chatgpt
aGdF8E3gQ18 分钟前
【Application Insights】采样率对Function App日志收集的影响和解决方法
python·flask·wpf
zzz_236822 分钟前
AI Coding 的稳定性,不能只靠 Prompt:一次 Harness 工程化拆解
人工智能·prompt
ATMQuant27 分钟前
以AI量化为生:25.vnpy 4.4升级实战 - 魔改版框架如何安全跟进上游
人工智能·python·量化交易·vnpy
Raas10030 分钟前
MAIGateway,魔芋企业级AI网关的FinAPI成本归因设计
大数据·人工智能·网关·api网关·finapi
啾啾Fun38 分钟前
【AI原生组织】2-从L0到L6:Agent自治等级与组织成熟度地图
人工智能·ai-native
LaughingZhu41 分钟前
Product Hunt 每日热榜 | 2026-08-04
人工智能·经验分享·深度学习·神经网络·产品运营
阿里云云原生43 分钟前
金融级 AI 原生架构:FinXScope 如何解决智能体从 Demo 到生产的“最后一公里”?
人工智能·金融·架构·agentscope·finxscope
蓝速科技1 小时前
蓝速科技 AI 双屏翻译机商务选购与实测避坑指南
人工智能·科技
小彤花园1 小时前
和 AI 结对写网站:从 JSON 到一整个工具集
前端·人工智能·程序员