没有估计器的plot_confusion_matrix

2024-01-09

我正在尝试使用plot_confusion_matrix,

from sklearn.metrics import confusion_matrix

y_true = [1, 1, 0, 1]
y_pred = [1, 1, 0, 0]

confusion_matrix(y_true, y_pred)

Output:

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

现在,在使用以下内容时;使用“类”或不使用“类”

from sklearn.metrics import plot_confusion_matrix

plot_confusion_matrix(y_true, y_pred, classes=[0,1], title='Confusion matrix, without normalization')

or

plot_confusion_matrix(y_true, y_pred, title='Confusion matrix, without normalization')

我希望得到类似的输出,除了里面的数字之外,

绘制简单的图表,应该不需要估算器。

使用mlxtend.plotting,

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

binary1 = np.array([[4, 1],
                   [1, 2]])

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

它提供相同的输出。

基于this https://scikit-learn.org/stable/modules/generated/sklearn.metrics.plot_confusion_matrix.html

它需要一个分类器,

disp = plot_confusion_matrix(classifier, X_test, y_test,
                                 display_labels=class_names,
                                 cmap=plt.cm.Blues,
                                 normalize=normalize)

我可以在没有分类器的情况下绘制它吗?


plot_confusion_matrix期望有一个训练有素的分类器。如果你看一下源代码 https://github.com/scikit-learn/scikit-learn/blob/95d4f0841/sklearn/metrics/_plot/confusion_matrix.py#L119,它所做的是执行预测以生成y_pred为你:

y_pred = estimator.predict(X)
    cm = confusion_matrix(y_true, y_pred, sample_weight=sample_weight,
                          labels=labels, normalize=normalize)

因此,为了绘制混淆矩阵而不指定分类器,您必须使用其他工具,或者自己动手。 一个简单的选择是使用seaborn:

import seaborn as sns

cm = confusion_matrix(y_true, y_pred)
f = sns.heatmap(cm, annot=True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

没有估计器的plot_confusion_matrix 的相关文章

  • 如何查看Databricks中的所有数据库和表

    我想列出 Azure Databricks 中每个数据库中的所有表 所以我希望输出看起来像这样 Database Table name Database1 Table 1 Database1 Table 2 Database1 Table
  • Python:在列表理解本身中引用列表理解?

    这个想法刚刚出现在我的脑海中 假设您出于某种原因想要通过 Python 中的列表理解来获取列表的唯一元素 i if i in created comprehension else 0 for i in 1 2 1 2 3 1 2 0 0 3
  • 无法“安装”plpython3u - postgresql

    我正在尝试在 postgresql 中使用 python 语言 像这样的事情 create or replace function test a integer returns integer as if a 2 0 return even
  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐

  • 将 Keras 预训练模型扩展到具有附加通道或波段的图像

    我只是希望澄清之前一篇文章的一些信息 该文章讨论了如何将 Keras 预训练模型 如 VGG 或 InceptionV3 扩展到不同大小的图像 我的问题是我有一些 8 波段的卫星图像 所以图像可能是650x650x8而不是通常的 RBG 3
  • 如何在XMPP(Openfire)中删除群聊消息?

    我想从 openfire 历史记录中删除单个群聊消息 是否可以 历史记录不保存在 OfMessageArchive 表中 删除应用程序中的消息后 该消息消失 但重新登录后从 Openfire 的 基础 下载 它仍然可见 到目前为止 您还无法
  • QtabBar 文本和图标

    您好 我想在 QtabBar 小部件中选项卡栏的每个选项卡中的图标下方放置图标和文本 默认情况下 文本和图标设置为彼此相邻 我想将一个显示在另一个下方 我们怎样才能做到呢 似乎只有一种方法可以更改图标位置 重新实现 QTabBar 的pai
  • 按下时如何将数据从第二个活动传递到第一个活动? - 安卓

    我有2个活动 活动1 and 活动2 In Activity1 I ve a Button and TextView 当按钮被点击时活动2已开始 In Activity2我有一个EditText 我想显示检索到的数据EditText in
  • 如何使用 aws lambda 将文件写入 s3 (python)?

    我尝试使用 lambda 函数将文件写入 S3 然后测试显示 成功 但我的 S3 存储桶中没有出现任何内容 发生了什么 有人可以给我一些建议或解决方案吗 多谢 这是我的代码 import json import boto3 def lamb
  • 获取轴上 numpy.argmax 元素的索引

    我有 N 维矩阵 其中包含具有 N 个参数的函数的值 每个参数都有离散数量的值 我需要在除一个参数之外的所有参数上最大化该函数 从而产生一个大小等于非最大化参数值的数量的一维向量 我还需要保存其他参数采用的值 为此 我想迭代应用numpy
  • 16 字节实数的 MPI_AllReduce 的奇怪结果

    编译器 gfortran 4 8 5 MPI 库 OpenMPI 1 7 2 预装 OpenSuSE 13 2 这个程序 use mpi implicit none real 16 x integer ierr irank type16 c
  • Java 8 中接口方法的隐式声明是什么?

    我正在读我的旧 SCJP 6 书 作者 Kathy Sierra Bert Bates 提到的 All the interface方法是隐含地 public and abstract默认情况下 interface方法一定不能是static
  • 如果 StringBuilder 或 StringBuffer 可以做 String 所做的事情,为什么还要有 String 类呢? [复制]

    这个问题在这里已经有答案了 我一直想知道为什么JAVA和C 有String 不可变和线程安全 类 如果有StringBuilder 可变且非线程安全 或StringBuffer 可变和线程安全 类 不是StringBuilder Strin
  • 如何查看origin/master 领先于master 的提交消息?

    当 git 通知我我的本地分支落后于 master 时 我如何告诉 git 打印出我落后的日志消息 例如 在下面的情况下 如何查看在 origin master 上我在 master 上没有的 2 个提交的日志消息 git status O
  • 如何在显示 UIMenu 之前修改它以支持动态操作

    iOS 14 添加了点击或长按 UIBarButtonItem 或 UIButton 时显示菜单的功能 如下所示 let menu UIMenu children UIAction title Action image nil action
  • T-SQL 将不同行中最大长度列的行分组(?)

    我正在尝试想出一种方法 根据基于行键的任何行中最长的字符串来组合表中的行 example CREATE TABLE test1 akey int not null text1 varchar 50 NULL text2 varchar 50
  • 使用 openshift rhc tail 命令

    如何跟踪 openshift 日志文件 我发出了以下命令 rhc tail myapp 它似乎显示第一个错误行 然后停止 但不退出 如果我按 ctrl C 它会询问是否停止批处理 如何显示最后几个错误并可以逐页浏览 有向下翻页 向上翻页快捷
  • selenium 将两个 xpath 测试合二为一

    我尝试结合检查两种情况 如果启动检查失败 我们会看到重试按钮 el WebDriverWait self driver 10 until EC element to be clickable By NAME Try again 或者启动检查
  • DELETE_ON_CLOSE 在 Linux 上关闭之前删除文件

    我使用 Java 7 nio API 有以下代码 import java io IOException import java io ObjectOutputStream import java io OutputStream import
  • Google App Engine 批量加载器转换的参考页面在哪里?

    从空数据存储中 我能够自动生成bulkloader yaml文件 它只包含python preamble 但是transformers部分是空的 python preamble import google appengine ext bul
  • 将数字向下舍入

    I have numeric就像这个 a lt 1 542045 我想将它们四舍五入 或四舍五入abs 到小数点后 2 位 signif a 3 会将其向下舍入并给出 1 54 作为结果 但对于本示例 我想要的结果是 1 55 任何想法 我
  • 钥匙串+临时分发

    首先 一些细节 我们正在开发一个 iOS 应用程序 目前使用 Swift Xcode 6 1 GM 2 进行开发 在临时分发应用程序时 我们在钥匙串访问方面遇到了一些令人困惑的问题 并且在追踪原因方面遇到了问题 所有配置文件都与我们应用程序
  • 无法打印字符串数组元素[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 每当我尝试运行该程序时 它都会返回一条错误消息 没有运算符 另请注意 该程序仅在getChoice 功能 include
  • 没有估计器的plot_confusion_matrix

    我正在尝试使用plot confusion matrix from sklearn metrics import confusion matrix y true 1 1 0 1 y pred 1 1 0 0 confusion matrix