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)

运行结果:

python机器学习混淆矩阵及confusion matrix函数使用_第1张图片

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

python机器学习混淆矩阵及confusion matrix函数使用_第2张图片

关于类别顺序可由 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的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(python机器学习混淆矩阵及confusion matrix函数使用)