分类器模型评估指标之混淆矩阵(二分类/多分类)

1、混淆矩阵(Confusion Matrix)

       混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。在人工智能中,混淆矩阵(confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵(matching matrix)。混淆矩阵的每一列代表了预测类别,每一列的总数表示预测为该类别的数据的数目;每一行代表了数据的真实归属类别,每一行的数据总数表示该类别的数据实例的数目。

2、举例说明(二分类/多分类)

分类器模型评估指标之混淆矩阵(二分类/多分类)_第1张图片
标准二分类混淆矩阵
分类器模型评估指标之混淆矩阵(二分类/多分类)_第2张图片
多分类混淆矩阵(三分类)

混淆矩阵中,永远是真实值在前,预测值在后。

(以下说明都是以二分类为例,如果涉及多分类则会标注)

       在二分类混淆矩阵中,可以很容易看出,11和00的对角线就是全部预测正确的,01和10的对角线就是全部预测错误的。基于混淆矩阵,我们有六个不同的模型评估指标,这些评估指标的范围都在[0,1]之间,所有以11和00为分子的指标都是越接近1越好,所有以01和10为分子的指标都是越接近0越好。首先解释几个接下来需要的概念:

True Positive (真正, TP)被模型预测为正的正样本;  

True Negative(真负 , TN)被模型预测为负的负样本 ; 

 False Positive (假正, FP)被模型预测为正的负样本;  

False Negative(假负 , FN)被模型预测为负的正样本;


True Positive Rate(真正率 , TPR)或灵敏度(sensitivity)  或召回率(recall)

TPR = TP /(TP + FN)  

正样本预测结果数 / 正样本实际数


True Negative Rate(真负率 , TNR)或特指度(specificity)  

TNR = TN /(TN + FP)  

负样本预测结果数 / 负样本实际数  


False Positive Rate (假正率, FPR)  

FPR = FP /(FP + TN)  

被预测为正的负样本结果数 /负样本实际数  


False Negative Rate(假负率 , FNR)  

FNR = FN /(TP + FN)  

被预测为负的正样本结果数 / 正样本实际数


对于所有的指标,我们用橙色表示分母,用绿色表示分子,则我们有:

(1)模型整体效果:准确率(Accuracy)

分类器模型评估指标之混淆矩阵(二分类/多分类)_第3张图片
二分类准确率

准确率Accuracy就是所有预测正确的所有样本除以总样本,通常来说越接近1越好。

【三分类中/多分类中】 Accuracy=


(2)精确度/查准率 Precision

分类器模型评估指标之混淆矩阵(二分类/多分类)_第4张图片
二分类精确度

精确度Precision,又叫查准率,表示所有被我们预测为是正类的样本中,真正的正类所占的比例。分母是列总和。【三分类中/多分类中】(0类)Precision=;

                                                              (1类)Precision=;

                                                              (2类)Precision=;


(3)召回率/真正率 Recall/TPR

分类器模型评估指标之混淆矩阵(二分类/多分类)_第5张图片
二分类召回率

召回率Recall,又被称为敏感度(sensitivity),真正率,查全率,表示所有正样本中,被我们真实预测正确的样本所占的比例。分母是行总和。

【三分类中/多分类中】(0类)Recall=;

                                     (1类)Recall=;

                                     (2类)Recall=;

注意召回率和精确度的分子是相同的,只是分母不同。而召回率和精确度是此消彼长的。


(4)精确度和召回率平衡综合性指标:F1 measure

为了同时兼顾精确度和召回率,我们创造了两者的调和平均数作为考量两者平衡的综合性指标,称之为F1 measure。两个数之间的调和平均倾向于靠近两个数中比较小的那一个数,因此我们追求尽量高的F1 measure,能够保证我们的精确度和召回率都比较高。F1 measure在[0,1]之间分布,越接近1越好。

F1—measure计算公式

(5)假负率(False Negative Rate)FNR

假负率用于衡量所有真实为正的样本中,被错误判断为负的,它等于 1 - Recall。

                                                     举例: FNR = (二分类)


(6)真负率(True Negative Rate)TNR 

分类器模型评估指标之混淆矩阵(二分类/多分类)_第6张图片
二分类真负率

特异度(Specificity)表示所有负样本中,被真实预测为负的样本所占的比例。

【三分类中/多分类中】(0类)TNR=

                                     (1类)TNR=

                                     (2类)TNR=


(7)假正率(False Positive Rate)FPR

假负率用于衡量所有真实为负的样本中,被错误判断为正的,它等于 1 - TNR。

                                                    举例:FPR=(二分类)

假正率其实类似于Precision的反向指标。


总结:FPR(假正率)+TNR(真负率)=1;FNR(假负率)+TPR(真正率)=1

求出真正率/召回率和真负率/特异度,就可以得到假正率和假负率。

以上多分类例子是以三分类为例,四分类五分类多分类都是一样的性质。对于多分类,假使针对类别0,那1,2类都算是负类;针对类别1,那么0,2类都算是负类;针对类别2,那么0,1类都算是负类。

3、测试

真实\预测      0        1         2

    0               10     10        10

    1               40     160      40

    2               5         5        20

分类讨论以上混淆矩阵类别0、类别1和类别2的FP、TP、FN、TN。

答案如下:


对于类别0的 FP=45 TP=10 FN=20   TN=225

对于类别1的 FP=15 TP=160 FN=80 TN=45

对于类别2的 FP=50  TP=20  FN=10 TN=220


最后,另附一篇比较好的混淆矩阵相关参考博文:

https://www.cnblogs.com/zxyza/p/10059834.html

一人做事一人当 小马做事响当当 今天也要开心的度过鸭~

你可能感兴趣的:(分类器模型评估指标之混淆矩阵(二分类/多分类))