混淆矩阵及confusion_matrix函数的使用

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

运行结果:

这里写图片描述

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

这里写图片描述

扫描二维码关注公众号,回复: 675950 查看本文章

关于类别顺序可由 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"])
  • 1
  • 2
  • 3

运行结果

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

以上是关于confusion_matrix函数的用法,欢迎大家一起交流学习强调内容

猜你喜欢

转载自blog.csdn.net/u011734144/article/details/80277225