🤵♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱🏍
🙋♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)
该文章收录专栏
[✨--- 《深入解析机器学习:从原理到应用的全面指南》 ---✨]
@toc
分类评估指标(以下代码均可在sklearn.metrics
找到):
当对一个分类模型进行评估时,通常需要使用多个评估指标来综合考虑其性能。
精确度是指分类正确的样本数占总样本数的比例,是最简单直接的评估指标。
精确度计算公式如下:
$$
Accuracy = \frac{TP + TN}{TP + FP + TN + FN}
$$
其中,$TP$ 表示真正类(True Positive)的样本数,即被分类器正确预测为正类的样本数;$TN$ 表示真负类(True Negative)的样本数,即被分类器正确预测为负类的样本数;$FP$ 表示误报样本(False Positive)的样本数,即被分类器错误地预测为正类的样本数;$FN$ 表示漏报样本(False Negative)的样本数,即被分类器错误地预测为负类的样本数。
from sklearn.metrics import accuracy_score
y_true = [0, 1, 0, 1]
y_pred = [0, 1, 1, 1]
accuracy = accuracy_score(y_true, y_pred)
print("Accuracy:", accuracy)
灵敏度也称召回率,是指真实正类中被正确预测为正类的样本数占总的真实正类样本数的比例。灵敏度能够反映出分类器对于正样本的识别能力。
灵敏度计算公式如下:
$$
Sensitivity = \frac{TP}{TP + FN}
$$
from sklearn.metrics import recall_score
recall = recall_score(y_true, y_pred)
print("Sensitivity/Recall:", recall)
特异度是指真实负类中被正确预测为负类的样本数占总的真实负类样本数的比例。特异度能够反映出分类器对于负样本的识别能力。
特异度计算公式如下:
$$
Specificity = \frac{TN}{FP + TN}
$$
精确率是指被预测为正类的样本中真正是正类的样本数占被预测为正类的样本数的比例,能够反映出分类器对于正样本的预测准确性。
精确率计算公式如下:
$$
Precision = \frac{TP}{TP + FP}
$$
F1值是综合考虑精确率和灵敏度的调和平均数,能够综合评价分类器的预测准确性和召回率。
F1值计算公式如下:
$$
F1 = 2 \frac{Precision Sensitivity}{Precision + Sensitivity} = \frac{2 TP}{2 TP + FP + FN}
$$
AUC(Area Under the Curve)是一种常用的评估分类模型性能的指标,通常用于ROC曲线(Receiver Operating Characteristic curve)分析。AUC表示ROC曲线下方的面积,其取值范围在0到1之间。
以下是对AUC指标的详细解释:
1. ROC曲线:
以下是绘制ROC曲线的步骤:
收集模型预测结果和相应的真实标签。这些结果包括模型对每个样本的预测概率或分数以及它们对应的真实标签(0表示负例,1表示正例)。
根据预测概率或分数对样本进行排序。从高到低排列,使得排名最高的样本具有最大的预测概率或分数。
选择一个分类阈值,并根据该阈值将样本划分为正例和负例。例如,如果阈值设置为0.5,则所有预测概率大于等于0.5的样本被视为正例,而小于0.5则被视为负例。
计算此时的真正例率(TPR)和假正例率(FPR)。
TPR = TP / (TP + FN)
FPR = FP / (FP + TN)
重复步骤3和4,使用不同分类阈值来计算一系列不同点对应的TPR和FPR。这些点构成了ROC曲线上的各个坐标。
绘制ROC曲线,以FPR作为x轴,TPR作为y轴。通过连接这些坐标点可以得到一条典型情况下具有平滑形状且递增趋势的曲线。
在理想情况下,ROC曲线会靠近左上角,并且与对角线之间存在较大距离。该区域被认为是模型性能最佳、具有高度可区分能力和较小误判率的区域。
2. AUC计算:
3. 解读和应用:
4. 与准确率和召回率的区别:
5. 如何运用到多分类:
在多分类问题中,我们可以将每个类别作为正例,并计算出多个二分类子问题的ROC曲线,并通过求解这些子问题下各自点集合并取平均值来获得整体的多类别ROC曲线。
为了绘制多类别的ROC曲线,在每个子问题上执行以下步骤:
总而言之,AUC是通过计算ROC曲线下方所围成面积来评估二分类模型性能的指标。它提供了一种直观且综合考虑TPR和FPR之间权衡关系的方式,并广泛应用于机器学习中各种分类问题中。
在面对多分类问题时,常用的指标包括准确率(Accuracy)、混淆矩阵(Confusion Matrix)以及宏平均(Macro-average)和微平均(Micro-average)。
例如,在3个类别A、B、C下进行分类时,可能有以下情况:
这些信息都可以通过混淆矩阵得到,并进一步计算其他指标如精确度、召回率等。
无论是准确率、混淆矩阵还是宏/微平均,这些指标可以帮助我们评估模型在多分类任务中的整体性能以及对每个特定类别的预测能力。根据具体需求和问题背景,选择合适的评估指标来解读和分析结果非常重要。
我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有