python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python混淆矩阵confusion matrix

python机器学习混淆矩阵及confusion matrix函数使用

作者:冻鸡hhhh

这篇文章主要为大家介绍了python机器学习混淆矩阵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)

运行结果:

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

关于类别顺序可由 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函数的用法,更多关于python混淆矩阵confusion matrix的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文