混淆矩阵以及精确率召回率的计算

混淆矩阵是用来总结一个分类器结果的矩阵。对于k元分类,其实它就是一个k x k的表格,用来记录分类器的预测结果。

对于最常见的二元分类来说,它的混淆矩阵是2乘2的,如下

TP = True Postive = 真阳性; FP = False Positive = 假阳性

FN = False Negative = 假阴性; TN = True Negative = 真阴性

 

比如我们一个模型对15个样本进行预测,然后结果如下:

预测值:1    1    1    1    1    0    0    0    0    0    1    1    1    0    1

真实值:0    1    1    0    1    1    0    0    1    0    1    0    1    0    0

 

    

这个就是混淆矩阵。

 

 

混淆矩阵中的这四个数值,经常被用来定义其他一些度量。

 

准确度(Accuracy) = (TP+TN) / (TP+TN+FN+TN)

在上面的例子中,准确度 =(5+4) / 15 = 0.6

 

精度(precision, 或者PPV, positive predictive value) = TP / (TP + FP)

在上面的例子中,精度 = 5 / (5+4) = 0.556

 

召回(recall, 或者敏感度,sensitivity,真阳性率,TPR,True Positive Rate) = TP / (TP + FN),计算方式是真阳性除以真阳性+假阴性。

在上面的例子中,召回 = 5 / (5+2) = 0.714

 

特异度(specificity,或者真阴性率,TNR,True Negative Rate) = TN / (TN + FP),计算方式是真阴性除以真阴性+假阳性(实际为阴性,但判断为阳性)

在上面的例子中,特异度 = 4 / (4+4) = 0.5

 

F1-值(F1-score) = 2*TP / (2*TP+FP+FN) 

在上面的例子中,F1-值 = 2*5 / (2*5+4+2) = 0.625


版权声明:本文为heihei2017原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。