数据分类评价指标

这里写自定义目录标题

  • 目录
    • 单一评估指标
      • 正确率(Accuracy)
      • 查全率(Recall)
      • 查准率(Precision)
      • 特异性
      • 平衡的准确率(Blanced Accuracy)
      • F-Measure(F)
      • G-Mean
      • Matthews Correlation Coefficient (MCC)
    • 曲线类评估指标
      • ROC曲线
      • PR曲线
      • 代价曲线
    • 评估指标的融合

目录

单一评估指标

二分类问题的混淆矩阵给出了每个类正确与错误分类样本的个数,如下表所示。

预测/真实 正类 负类
正类 TP FP
负类 FN TN

基于此表首先可以计算以下几种常见的分类评估指标:

正确率(Accuracy)

正确率表示被正确分类的样本个数占所有样本数的比例,计算公式如下所示:
A c c u a r y = T P + T N T N + F P + T P + F N Accuary=\frac{TP+TN}{TN+FP+TP+FN} Accuary=TN+FP+TP+FNTP+TN

查全率(Recall)

查全率也称为灵敏度(Sensitivity)或真阴性率(True Positive Rate,TNR)。反映的是在测试过程中,正确被预测的少数类样本的个数在所有真实被标记为少数类样本中占有的比例。计算公式如下所示:
S e n s i t i v i t y / R e c a l l = T P T P + F N Sensitivity/Recall=\frac{TP}{TP+FN} Sensitivity/Recall=TP+FNTP

查准率(Precision)

查准率也成为精确率。反映的是正确被预测的正类样本的个数占所有被标记为正类样本数量的比率。计算公式如下所示:
P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP

特异性

也称为真负类率(True Negative Rate,TNR),表示负类样本中被正确识别的比例。公式如下所示:
S p e c i f i c i t y = T N T N + F P Specificity=\frac{TN}{TN+FP} Specificity=TN+FPTN

正确率是用于评估分类学习系统性能的常用指标。但是在不均衡数据分类任务中,由于学习系统可能更偏向于多数类样本的学习,同时人们更关注于少数类的分类准确度,因此仅用准确率不能很公平地评估模型的性能。
例如,训练样本中少数类占有1%的比率,当将所有样本都预测为多数类时也可以到达99%的高准确度。当人们更关注于少数类的分类准确率时,上面的预测结果是毫无价值的。因此,有人提出基于正确率指标的改进形式,如ACAS(Average Class Specific Accuracy)。ACAS计算的的是每个类别预测准确率的算数平均值。以上几种评价指标较为单一,在数据分类任务中使用的指标需要考虑用户偏好以及数据分布,因此有多种评估指标将以上的几种指标融合到同一指标中。

平衡的准确率(Blanced Accuracy)

定义为查全率和特异性的算术平均值,这种计算避免了单一指标对不均衡数据集的夸大性能估计。
B a l a n c e d A c c u r a c y = S e n s i t i v i t y + S p e c i f i c i t y 2 Balanced Accuracy=\frac{Sensitivity+Specificity}{2} BalancedAccuracy=2Sensitivity+Specificity

F-Measure(F)

F F F指标是查准率(Precision)和召回率(Racall)两个指标的结合。
F − m e a n s u r e = ( 1 + β ) 2 ∗ R e c a l l ∗ P r e c i s i o n β 2 ∗ R e c a l l + P r e c i s i o n F-meansure=\frac{(1+\beta)^{2}*Recall*Precision}{\beta^{2}*Recall+Precision} Fmeansure=β2Recall+Precision(1+β)2RecallPrecision
其中,β是一个可调整的系数用来调节召回率和精确率之间的重要性,当β=1的时候,两者具有相同的权重,较大的β值会增加召回率的权重,而值小于1则会加重精确率的比重。
F值是常用的分类评估指标,它更能有效地评估分类器对于用户感兴趣类别的预测准确度。因其融合了召回率(完整性的衡量标准)和精确度(准确性的衡量标准)两个指标,只有当召回率和精确率都较高时,F指标值才会很高。

G-Mean

G-Mean同样是评估不均衡数据分类器时经常使用的指标,计算方式如公式:
G − m e a n = T P T P + F N ∗ T N T N + F P G-mean=\sqrt{\frac{TP}{TP+FN}*\frac{TN}{TN+FP}} Gmean=TP+FNTPTN+FPTN
它计算两个类别准确率的几何平均值,试图最大化它们的同时又能获得两者良好的平衡。因此,G-Mean是对分类器关于正确区分开多数类和少数类均衡程度的一种考量,只有当模型能均衡考虑并且较好地区分所有类别数据时,G-Mean的值才会比较高。

Matthews Correlation Coefficient (MCC)

MCC计算时同时考虑了上表中的四项,计算方式如下所示:
M C C = T P ∗ T N − F P ∗ F N ( T P + F P ) ( T P + F N ) ( T N = F P ) ( T N + F N ) MCC=\frac{TP*TN-FP*FN}{\sqrt{(TP+FP)(TP+FN)(TN=FP)(TN+FN)}} MCC=(TP+FP)(TP+FN)(TN=FP)(TN+FN) TPTNFPFN
可以看出MCC是一个比较均衡的指标,在两个类别样本数量差异比较大的时候仍然能够有效地缓解样本不均衡带来的敏感度。其本质上是一个描述实际分类与预测分类之间相关系数的指标,因此它会返回一个介于-1和+1之间的值。当值为-1时表示预测的结果和真实结果完全不一致,当值为0时表示随机猜测返回的结果,当值为+1时说明对测试集合中的样本都做出了正确的预测。

曲线类评估指标

ROC曲线

ROC曲线以假正率( F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP)与真正率( T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP)为两个坐标轴,直观地展现它们之间的相互影响情况。绘制ROC曲线是有效且直观的方法用来评价分类器的性能,分类器分类效果越优异则曲线在图像上的位置就越靠近左上方向。为了定量地研究ROC曲线,人们定义了AUC变量来表示曲线的积分。积分越大,相应的分类器表现越优越。

PR曲线

PR曲线采用查全率和查准率这两个指标分别作为横轴和纵轴。在一个高度斜交的不均衡数据集中运用ROC曲线标准,可能会使得评价结果超过分类器本身性能所能表现的程度。而PR曲线能够相对客观又较为公正地评价和反映分类器模型的分类效果。如果用它来衡量分类器的性能,以查准率为纵坐标,以查全率为横坐标,通过调整分类阈值可以获得P-R值,用这些点最终得到一条曲线。PR曲线越往坐标(1,1)的位置靠近说明分类器查得既准又全,利用这个性质可以对分类器的性能做出评估或多者进行比较。此外,PR曲线可以用来表现分类或检索的性能。

代价曲线

由于ROC曲线不能给出关于分类器性能评价的置信区间,同时无法对不同分类器的性能进行统计显著性检测。因此,代价曲线作为一个能解决上述问题的代价敏感技术被提出来,代价曲线能够在类分布变化和误分代价两个方面给出分类器性能的评价结果。

评估指标的融合

以上指标大多均为二分类问题的评估指标,现有许多方法可以将以上指标扩展到多类问题上,如微平均(Micro-averaged)和宏平均(Macro-averaged)加权。
对于 C C C个类别的多分类问题,令 y c y_{c} yc表示第 c c c个类别样本的标签, T P y c , T N y c , F P y c , F N y c TP_{y_{c}},TN_{y_{c}},FP_{y_{c}},FN_{y_{c}} TPyc,TNyc,FPyc,FNyc分别表示对应特定标签 y c y_{c} yc时,二分类情况下真阳性,真阴性,假阳性,假阴性的数目。则对应某一个特定评价指标的宏平均形式 B m a c r o B_{macro} Bmacro的计算公式如下所示:
B m a c r p = 1 C ∑ c = 1 C B ( T P y c , T N y c , F P y c , F N y c ) B_macrp=\frac{1}{C}\sum_{c=1}^{C}{B(TP_{y_{c}},TN_{y_{c}},FP_{y_{c}},FN_{y_{c}})} Bmacrp=C1c=1CB(TPyc,TNyc,FPyc,FNyc)
微平均对应的形式 B m i c r o B_{micro} Bmicro的计算公式如下所示:
B m a c r p = B ( ∑ c = 1 C T P y c , ∑ c = 1 C T N y c , ∑ c = 1 C F P y c , ∑ c = 1 C F N y c ) B_macrp=B(\sum_{c=1}^{C}{TP_{y_c}},\sum_{c=1}^{C}{TN_{y_c}},\sum_{c=1}^{C}{FP_{y_c}},\sum_{c=1}^{C}{FN_{y_c}}) Bmacrp=B(c=1CTPyc,c=1CTNyc,c=1CFPyc,c=1CFNyc)
实际上当各个类别包含的样本数量差异不大时,宏平均和微平均两种计算方式得到的结果差异不大,但当每个类别包含样本的数量差异较大且更关注于少数类的分类准确率时,通常使用宏平均的形式。此外,考虑到各类别含有样本数量不同,可以得到基于各类别样本数量加权的指标融合形式 B l f B_{lf} Blf的公式如下所示:
B l f = ∑ c = 1 C f c B ( T P y c , T N y c , F P y c , F N y c ) B_{lf}=\sum_{c=1}^{C}{f_{c}B(TP_{y_{c}},TN_{y_{c}},FP_{y_{c}},FN_{y_{c}})} Blf=c=1CfcB(TPyc,TNyc,FPyc,FNyc)
其中, f c = n c n f_c=\frac{n_c}{n} fc=nnc表示第 c c c个类别样本数量占总样本数量的比例。

你可能感兴趣的:(疑难杂症,分类,机器学习,算法)