关于confusion_matrix()返回的矩阵的索引顺序(类别顺序)

转载至:https://blog.csdn.net/m0_38061927/article/details/77198990

1.混淆矩阵
混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)

下图是混淆矩阵的一个例子


其中灰色部分是真实分类和预测分类结果相一致的,绿色部分是真实分类和预测分类不一致的,即分类错误的。

2.confusion_matrix函数的使用

官方文档中给出的用法是
sklearn.metrics.confusion_matrix(y_true, y_pred, labels=None, sample_weight=None)

y_true: 是样本真实分类结果,y_pred: 是样本预测分类结果
labels:是所给出的类别,通过这个可对类别进行选择
sample_weight : 样本权重

实现例子:

from sklearn.metrics import confusion_matrix

y_true=[2,1,0,1,2,0]
y_pred=[2,0,0,1,2,1]

C=confusion_matrix(y_true, y_pred)

运行结果:

 

这儿没有标注类别:下图是标注类别以后,更加好理解

 

关于类别顺序可由 labels参数控制调整,例如 labels=[2,1,0],则类别将以这个顺序自上向下排列。默认数字类别是从小到大排列,英文类别是按首字母顺序排列

下面是官方文档上的一个例子

y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
confusion_matrix(y_true, y_pred, labels=["ant", "bird", "cat"])


运行结果

array([[2, 0, 0],
       [0, 0, 1],
       [1, 0, 2]])


以上是关于confusion_matrix函数的用法,欢迎大家一起交流学习强调内容
---------------------
版权声明:本文为CSDN博主「冻鸡hhhh」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_38061927/article/details/77198990

猜你喜欢

转载自www.cnblogs.com/loubin/p/11325716.html
今日推荐