首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Python绘制已计算的混淆矩阵

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

Stack Overflow用户
提问于 2020-03-01 23:31:04
回答 3查看 7.7K关注 0票数 5

我如何在Python中绘制一个混乱矩阵,类似于已经给出的混淆矩阵的值的这里呢?

在代码中,他们使用了sklearn.metrics.plot_confusion_matrix方法,该方法根据基本事实和预测来计算混淆矩阵。

但在我的例子中,我已经计算了我的混淆矩阵。例如,我的混淆矩阵是(以百分比为单位的值):

代码语言:javascript
复制
[[0.612, 0.388]
 [0.228, 0.772]]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-02 00:16:00

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

代码语言:javascript
复制
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()
票数 6
EN

Stack Overflow用户

发布于 2021-01-23 23:22:31

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

可以在中绘制,这是一个已经通过mlxtend包计算出的混淆矩阵:

Mlx趋向(机器学习扩展)是一个用于日常数据科学任务的有用工具的Python库。

片段代码:

代码语言:javascript
复制
# 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()

输出为:

票数 6
EN

Stack Overflow用户

发布于 2021-07-16 18:36:08

我用的是来自海运的热图。您可以定义一个方法:

代码语言:javascript
复制
import numpy as np
import seaborn as sns; sns.set_theme()
sns.set(font_scale=2)

def plot_matrix(cm, classes, title):
  ax = sns.heatmap(cm, cmap="Blues", annot=True, xticklabels=classes, yticklabels=classes, cbar=False)
  ax.set(title=title, xlabel="predicted label", ylabel="true label")

和使用:

代码语言:javascript
复制
cm = np.array([[0.612, 0.388], [0.228, 0.772]])
classes = ['class A', 'class B']
title = "title example"

plot_matrix(cm, classes, title)

输出如下:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60480777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档