什么是混淆矩阵(confusion matrix)

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

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


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


 

小菜   2017-04-18 10:34



   2个回答 
21

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


SofaSofa数据科学社区DS面试题库 DS面经

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

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

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


SofaSofa数据科学社区DS面试题库 DS面经

AlphaCat   2017-12-13 13:50



  相关讨论

多元分类的混淆矩阵

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

怎么用R得到混淆矩阵?

sklearn有没有生成混淆矩阵的函数?

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

机器学习中lift的概念是什么?怎么用来评价模型?

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

多元分类可以用accuracy吗?

多元分类问题有没有F1?

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

  随便看看

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容

为什么LASSO可以做特征选择,而Ridge却不行?

如何检验两个样本是同分布的?

抛的硬币直到连续出现两次正面为止,平均要扔多少次

为什么矩阵的二范数和向量的二范数的定义不同?