使用 Python 绘制已计算的混淆矩阵

mac*_*ery 7 python matplotlib confusion-matrix

如何在 Python 中绘制一个与此处显示的混淆矩阵类似的混淆矩阵,用于已经给定的混淆矩阵值?

在代码中,他们使用sklearn.metrics.plot_confusion_matrix基于事实和预测计算混淆矩阵的方法。

但就我而言,我已经计算了我的混淆矩阵。例如,我的混淆矩阵是(百分比值):

[[0.612, 0.388]
 [0.228, 0.772]]
Run Code Online (Sandbox Code Playgroud)

who*_*olt 8

我看到有人已经回答了这个问题,但我正在添加一个新问题,这对作者甚至其他用户可能有用。

可以在Python中绘制通过包计算出的混淆矩阵mlxtend

Mlxtend(机器学习扩展)是一个 Python 库,其中包含用于日常数据科学任务的有用工具。

片段代码:

# Imports
from mlxtend.plotting import plot_confusion_matrix
import matplotlib.pyplot as plt
import numpy as np

# Your Confusion Matrix
cm = np.array([[0.612, 0.388],
               [0.228, 0.772]])

# Classes
classes = ['class A', 'class B']

figure, ax = plot_confusion_matrix(conf_mat = cm,
                                   class_names = classes,
                                   show_absolute = False,
                                   show_normed = True,
                                   colorbar = True)

plt.show()
Run Code Online (Sandbox Code Playgroud)

输出将是:

在此输入图像描述


ilk*_*444 6

如果您检查 的来源sklearn.metrics.plot_confusion_matrix您可以看到如何处理数据以创建绘图。然后您可以重用构造函数ConfusionMatrixDisplay并绘制您自己的混淆矩阵。

import matplotlib.pyplot as plt
from sklearn.metrics import ConfusionMatrixDisplay

cm = [0.612, 0.388, 0.228, 0.772] # your confusion matrix
ls = [0, 1] # your y labels
disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=ls)
disp.plot(include_values=include_values, cmap=cmap, ax=ax, xticks_rotation=xticks_rotation)
plt.show()
Run Code Online (Sandbox Code Playgroud)