机器学习之评价指标(二)——分类评价指标

回归问题的评价指标见:https://blog.csdn.net/itlilyer/article/details/117880207

现在我们介绍一下分类问题中常用的评价指标。

在介绍评价指标前首先要了解"混淆矩阵"。"混淆矩阵"个人理解是一个分析一个分类模型对一个输入数据预测结果不同情况的说明矩阵。
在这里插入图片描述

从表格中看到真实值和预测结果会有四种组合:
真正(True Positive): 把标签也就是真实值为True的预测为Positive,比如,将一张小狗图片,标签为狗,预测结果也为狗。
真负(True Negative): 把标签也就是真实值为False的预测为Negative,比如,将一张不是小狗图片,标签为其他,预测结果也为其他。
假正(False Positive): 把标签也就是真实值为False的预测为Positive,比如,将一张小猫图片,标签为猫,但是预测结果为狗。
假负(False Negative): 把标签也就是真实值为True的预测为Negative,比如,将一张小狗图片,标签为狗,预测结果为不是狗。

真正率(True Positive Rate,TPR): 又称灵敏度,被预测为正的正样本/实际正样本总数——TPR = T P T P + F N \frac {TP} {TP+FN} TP+FNTP
真负率(True Negative Rate,TNR): 又称特异度,被预测为负的负样本/实际负样本总数——TNR = T N T N + F P \frac {TN} {TN+FP} TN+FPTN
假正率(False Positive Rate,FPR): 被预测为正的负样本/实际负样本总数——FPR = F P F P + T N \frac {FP} {FP+TN} FP+TNFP
假负率(False Negative Rate,FNR): 被预测为负的正样本/实际正样本总数——FNR = F N T P + F N \frac {FN} {TP+FN} TP+FNFN

1.准确率

准确率(Accuracy): 分类正确的样本数/总样本数,也就是正样本预测结果为正,负样本预测结果为负的数量和除以总数。
ACC = T P + T N T P + T N + F P + F N \frac {TP + TN} {TP + TN + FP + FN} TP+TN+FP+FNTP+TN

2.平均准确率

平均准确率(Average per-class Accuracy):所有类别准备率的平均值,这里就是指将正样本预测为正和负样本预测为负的平均值。
AVE_ACC = T P T P + F N + T N T N + F P 2 \frac {\frac {TP} {TP + FN} + \frac {TN} {TN + FP}} {2} 2TP+FNTP+TN+FPTN

3.错误率

错误率:分类错误的样本数量/总样本数。
ERROR = F P + F N T P + T N + F P + F N \frac {FP + FN} {TP + TN + FP + FN} TP+TN+FP+FNFP+FN

4. 精确率

精确率(Precision):也叫查准率,看一下预测结果中有多少是预测正确的。比如预测10个图片为小狗,但是真正为狗的为8个,其他为猫和猪,则精确率为0.8。
P = T P T P + F P \frac {TP} {TP + FP} TP+FPTP

5.召回率

召回率(Recall):也叫查全率,是指预测正确的正样本占所有正样本的比例。比如一共有15张小狗图片,其中12张预测为狗,其他预测为其他动物,则召回率为0.8。
Recall = T P T P + F N \frac {TP} {TP + FN} TP+FNTP

6.F1

F-Score(也叫F-Measure):因为不同情况下对精精确率和召回率的重视程度不同,有些需要尽可能的减少预测错误,有些则需要召回率更高。F1是调和平均值Fβ特殊情况,当β取1时就退化为了F1。
Fβ = ( 1 + β 2 ) ∗ P ∗ R ( β 2 ∗ P ) + R \frac {(1 + \beta^2) * P * R} {( β^2 * P) + R} (β2P)+R(1+β2)PR ; 当 β=1时, F1 = 2 ∗ P ∗ R P + R \frac {2 * P * R} {P + R} P+R2PR

7. ROC和AUC

ROC(Receiver Operating Characteristic),常用来评价一个二值分类器的优劣。在逻辑回归中通常会设置一个阈值,超过阈值则预测为正类,小于阈值则为负类。如果调小该值预测为正类的数量就会增加,同时这里面会包含一些本是负类的样本被识别为正类。ROC可以直观的表达该现象。上面我们已经介绍过了真正率(TPR, True Positive Rate)和假正率(FPR, False Positive Rate),ROC曲线就是以TPR为y轴,FPR为x轴根据分类结果得到的一条曲线。如果曲线比较平滑的话一般不会出现过拟合问题。
在这里插入图片描述我们主要关注图中的四个点和一条线。
第一个点**(0, 0):即TPR和FPR都是0,也就是说分类器把所有的样本不管正负都预测为负类。
第二个点
(0, 1):即TPR = 1,FPR = 0,也就是说所有的样本分类都正确,正样本预测为正,负样本预测为负。
第三个点
(1, 0):即TPR = 0,FPR = 1,也就是说所有的样本分类都错误,正样本预测为负,负样本预测为正。
第四个点
(1, 1)**:即TPR和FPR都是1,也就是说分类器把所有的样本不管正负都预测为正类。

通过这几个点的意义我们可以看出ROC曲线越接近左上角,该分类器的性能越好。

AUC(Area Under Curve):是ROC曲线下方的面积,面积越大意味着分类器越好。很明显该面积不会大约1。
在这里插入图片描述
ROC和AUC有一个特性:不管测试仪的正负样本的数量分布是什么样的,ROC曲线都不会变化。针对实际情况中数据集会出现样本数据分布不均衡的情况,正样本会比负样本多很多或者少很多。

8. PR曲线

PR曲线的横坐标是Recall,纵坐标是Precision。一条PR曲线要对应一个阈值(统计学的概率)。通过选择合适的阈值(比如0.5)对样本进行合理的划分,概率大于0.5的样本为正例,小于0.5的样本为负例,样本分类完成后计算相应的精准率和召回率,最后我们会得到对应关系,如下图所示。
在这里插入图片描述在众多学习器对数据进行学习后,如果其中一个学习器的PR曲线A完全包住另一个学习器B的PR曲线,则可断言A的性能优于B。但是A和B发生交叉,那性能该如何判断呢?我们可以根据曲线下方的面积大小来进行比较,但更常用的是平衡点F1。平衡点(BEP)是P=R时的取值(斜率为1),F1值越大,我们可以认为该学习器的性能较好。F1的计算公式上面我们已经介绍过了

猜你喜欢

转载自blog.csdn.net/itlilyer/article/details/118525402