二分类&多分类任务的评估指标对比
多分类任务和二分类任务的评估指标在概念上有一些相似性,但由于多分类任务涉及三个或更多类别,因此在评估方法和指标上存在一些差异:
二分类任务的评估指标:
- 准确率 (Accuracy): 正确预测的样本数占总样本数的比例。
- 精确度 (Precision): 预测为正类别中实际为正的比例。
- 召回率 (Recall) 或 真正类率 (TPR): 所有实际正样本中被正确预测的比例。
- F1 分数 (F1 Score): 精确度和召回率的调和平均数。
- ROC 曲线和 AUC: 评估模型在所有可能的分类阈值下的性能。
- 特异性 (Specificity): 所有实际负样本中被正确预测的比例。
- 假正类率 (FPR): 所有实际负样本中被错误预测为正的比例。
多分类任务的评估指标:
- 准确率 (Accuracy): 与二分类相同,正确预测的样本数占总样本数的比例。
- 混淆矩阵 (Confusion Matrix): 一个表格,用于显示每个类别的预测正确和错误的数量。
- 精确度 (Precision): 每个类别的预测为该类别的样本中实际为该类别的比例。
- 召回率 (Recall): 每个类别的实际样本中被正确预测的比例。
- F1 分数 (F1 Score): 每个类别的精确度和召回率的调和平均数。
- 宏平均 (Macro-average): 对每个类别的性能指标进行平均,不考虑类别样本数量的权重。
- 微平均 (Micro-average): 将所有类别的性能指标在样本级别上进行平均,考虑类别样本数量的权重。
- 加权平均 (Weighted-average): 对每个类别的性能指标进行平均,但每个类别的权重与其样本数量成比例。
- 多类别ROC曲线: 可以为每个类别绘制ROC曲线,并计算每个类别的AUC。
主要差异:
- 混淆矩阵:多分类任务需要混淆矩阵来详细查看每个类别的预测准确性,而二分类任务通常只关注四个基本数值:TP、TN、FP、FN。
- 平均方法:多分类任务需要不同的方法来计算平均性能指标,如宏平均、微平均和加权平均,以考虑类别不平衡的问题。
- 多类别ROC曲线:虽然ROC曲线主要用于二分类任务,但也可以扩展到多分类任务,通过为每个类别绘制单独的ROC曲线。
在多分类任务中,选择哪种评估指标取决于具体问题的需求和类别的不平衡程度。例如,如果某些类别的样本数量远多于其他类别,使用宏平均或微平均可能会更合适。
二分类
二分类任务中,评估分类模型性能的主要指标包括:
-
准确率 (Accuracy):
Accuracy = T P + T N T P + T N + F P + F N \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} Accuracy=TP+TN+FP+FNTP+TN
表示模型正确预测的样本数占总样本数的比例。 -
精确度 (Precision):
Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP
表示模型预测为正类别中实际为正类别的比例。 -
召回率 (Recall) 或 真正类率 (True Positive Rate, TPR):
Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP
表示所有实际正类别中被模型正确识别的比例。 -
F1 分数 (F1 Score):
F 1 = 2 × Precision × Recall Precision + Recall F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1=2×Precision+RecallPrecision×Recall
是精确度和召回率的调和平均数,用于在两者之间取得平衡。 -
特异性 (Specificity) 或 真负类率 (True Negative Rate, TNR):
Specificity = T N T N + F P \text{Specificity} = \frac{TN}{TN + FP} Specificity=TN+FPTN
表示所有实际负类别中被模型正确识别的比例。 -
假正类率 (False Positive Rate, FPR):
FPR = F P T N + F P \text{FPR} = \frac{FP}{TN + FP} FPR=TN+FPFP
表示所有实际负类别中被错误分类为正类别的比例。 -
假负类率 (False Negative Rate, FNR):
FNR = F N T P + F N \text{FNR} = \frac{FN}{TP + FN} FNR=TP+FNFN
表示所有实际正类别中被错误分类为负类别的比例。 -
受试者工作特征曲线(Receiver Operating Characteristic,ROC)
参考博客:
小白也能看懂的 ROC 曲线详解;
什么是ROC曲线?为什么要使用ROC?以及 AUC的计算- 什么是ROC曲线
纵轴为TPR T P P \frac{TP}{P} PTP,横轴为FPR F P P \frac{FP}{P} PFP - 绘制ROC曲线(确定阈值
对于模型输出的概率或分数,选择一系列不同的阈值
、计算TPR&FPR、绘制曲线) - ROC曲线的特点
- ROC曲线下方的面积(AUC,Area Under the ROC Curve)是一个重要的性能指标,它提供了模型整体性能的单一数值表示。AUC值越高,模型的分类性能通常被认为越好。
- 当模型的预测结果完全随机时,ROC曲线将接近于从左下角到右上角的对角线,AUC值接近0.5。
- ROC曲线对于评估模型在不同阈值下的性能非常有用,特别是在选择最佳阈值时。
- 什么是ROC曲线
-
ROC 曲线下面积 (Area Under the ROC Curve, AUC):
表示模型在所有可能的分类阈值
上的性能,AUC 值越高,模型性能越好。 -
PR曲线
- 什么是PR曲线?
纵轴为Precision T P T P + F P \frac{TP}{TP+FP} TP+FPTP,横轴为Recall T P T P + F N \frac{TP}{TP+FN} TP+FNTP - 如何绘制(确定阈值、计算Precision&Recall、绘制曲线)
- PR曲线的特点
- PR曲线通常用于评估模型在正类别样本较少时的性能,因为它不像ROC曲线那样对所有类别的样本数量敏感。
- 当数据集是不平衡的,即一个类别的样本数量远多于另一个类别时,PR曲线可以提供比ROC曲线更准确的性能评估。
- PR曲线下面积(AUPR)是一个常用的评估指标,它提供了模型整体性能的单一数值表示,AUPR越高,模型性能越好。
- 什么是PR曲线?
-
PR 曲线下面积 (Area Under the Precision-Recall Curve, AUPR):
对于不平衡的数据集,PR 曲线和 AUPR 是评估模型性能的有用指标。 -
Matthews 相关系数 (Matthews Correlation Coefficient, MCC):
MCC = T P × T N − F P × F N ( T P + F P ) ( T P + F N ) ( T N + F P ) ( T N + F N ) \text{MCC} = \frac{TP \times TN - FP \times FN}{\sqrt{(TP + FP)(TP + FN)(TN + FP)(TN + FN)}} MCC=(TP+FP)(TP+FN)(TN+FP)(TN+FN) TP×TN−FP×FN
综合考虑了真正例、假正例、真负例和假负例,取值范围从 -1 到 +1,+1 表示完美分类,0 表示随机分类。
这些指标可以帮助我们从不同角度评估模型的性能,选择最适合特定任务和数据集的模型。在实际应用中,根据问题的具体需求,可能会更关注某些指标。例如,在医疗诊断中,人们可能更倾向于使用高召回率的模型以避免漏诊,即使这可能会牺牲一些精确度。
多分类任务
宏平均 (Macro-average):
计算每个类别的性能指标的简单平均值,不考虑类别的样本数量。
微平均 (Micro-average):
将所有类别的性能指标在样本级别上进行平均,考虑类别的样本数量。
加权平均 (Weighted-average):
计算每个类别的性能指标的平均值,但每个类别的权重与其在数据集中的样本数量成比例。