什么是混淆矩阵(confusion matrix)

  统计/机器学习 监督式学习 模型验证    浏览次数: 5155
8

我看了百度百科的词条,看完更混淆了。能否讲讲什么是混淆矩阵(confusion matrix)呢?最好有例子,谢谢!


才开始学习机器学习,我知道这个问题很基本,见谅见谅。


 

小菜   2017-04-18 10:34



   2个回答 
17

混淆矩阵是用来总结一个分类器结果的矩阵。对于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+2) = 0.667


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

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


机器小白   2017-04-20 11:18

麻烦回答之后好好检查是否有错误好吗?TF是什么?TFboys? - FuckingNoOB   2018-02-01 09:04
大意了大意了,谢谢指出! - 机器小白   2018-02-01 09:48
0

至于多元分类的混淆矩阵,可以查看我回答的这个问题多元分类的混淆矩阵是什么


AlphaCat   2017-12-13 13:50



  相关主题

机器学习里的ppv是什么意思?   1回答

多元分类的混淆矩阵   1回答

precision-recall曲线下面积有什么意义?   3回答

利用交叉验证调参后还需要用完整的数据集重新训练吗?   2回答

k近邻算法(k-NN)怎么选k   2回答

二元分类问题中经常提到的TP,TN,FN,FP都是什么意思?   3回答

F1值会受到不平衡数据的影响吗?   2回答

用python求二元分类的混淆矩阵   2回答

如何在保持查全率不变的情况下提高查准率?   1回答

micro和macro F1 score分别是什么意思?   2回答

十折交叉验证   1回答

回归问题中的stratified cross validation?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!