混淆矩阵:为模型评估创建混淆矩阵

生成混淆矩阵的函数。

> `from mlxtend.evaluate import confusion_matrix`    
> `from mlxtend.plotting import plot_confusion_matrix`

概述

混淆矩阵

混淆矩阵(或 错误矩阵)是一种总结分类器在二分类任务中性能的方法。这个方阵由列和行组成,列出实例的数量,表示“实际类别”与“预测类别”的绝对或相对比例。

设 $P$ 为类 1 的标签,$N$ 为第二类的标签或在多类环境中表示“非类 1”的所有类的标签。

参考文献

示例 1 - 二分类

from mlxtend.evaluate import confusion_matrix

y_target =    [0, 0, 1, 0, 0, 1, 1, 1]
y_predicted = [1, 0, 1, 0, 0, 0, 0, 1]

cm = confusion_matrix(y_target=y_target, 
                      y_predicted=y_predicted)
cm

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

要使用matplotlib可视化混淆矩阵,请参阅实用函数 mlxtend.plotting.plot_confusion_matrix

import matplotlib.pyplot as plt
from mlxtend.plotting import plot_confusion_matrix

fig, ax = plot_confusion_matrix(conf_mat=cm)
plt.show()

png

示例 2 - 多类别分类

from mlxtend.evaluate import confusion_matrix

y_target =    [1, 1, 1, 0, 0, 2, 0, 3]
y_predicted = [1, 0, 1, 0, 0, 2, 1, 3]

cm = confusion_matrix(y_target=y_target, 
                      y_predicted=y_predicted, 
                      binary=False)
cm

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

要使用matplotlib可视化混淆矩阵,请参见工具函数 mlxtend.plotting.plot_confusion_matrix

import matplotlib.pyplot as plt
from mlxtend.evaluate import confusion_matrix

fig, ax = plot_confusion_matrix(conf_mat=cm)
plt.show()

png

示例 3 - 多类到二类

通过设置 binary=True,所有不是正类标签的类标签都将被汇总为类0。正类标签变为类1。

import matplotlib.pyplot as plt
from mlxtend.evaluate import confusion_matrix

y_target =    [1, 1, 1, 0, 0, 2, 0, 3]
y_predicted = [1, 0, 1, 0, 0, 2, 1, 3]

cm = confusion_matrix(y_target=y_target, 
                      y_predicted=y_predicted, 
                      binary=True, 
                      positive_label=1)
cm

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

要使用matplotlib可视化混淆矩阵,请参见实用函数 mlxtend.plotting.plot_confusion_matrix

from mlxtend.plotting import plot_confusion_matrix

fig, ax = plot_confusion_matrix(conf_mat=cm)
plt.show()

png

API

confusion_matrix(y_target, y_predicted, binary=False, positive_label=1)

Compute a confusion matrix/contingency table.

Parameters

Returns

Examples

For usage examples, please see https://rasbt.github.io/mlxtend/user_guide/evaluate/confusion_matrix/