混淆矩阵简介与Python实现

2023-05-16

什么是混淆矩阵
混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)

如下图:
这里写图片描述
其中绿色部分是预测正确的,红色是预测错误的。

对于二分类(正误)问题来说:

参考:http://www.omegaxyz.com/2017/08/27/rocandauc/
这里写图片描述
Python混淆矩阵的使用
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)
print(C, end='\n\n')


y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
C2 = confusion_matrix(y_true, y_pred, labels=["ant", "bird", "cat"])
print(C2)

更多内容访问omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2018 • OmegaXYZ-版权所有 转载请注明出处

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

混淆矩阵简介与Python实现 的相关文章

  • 如何删除django中级联的一对一相关模型?

    背景 我在 Django 1 8 5 中定义了以下模型 class PublishInfo models Model pass class Book models Model info models OneToOneField Publis
  • Python setuptools:如何在 setup.py 中添加私有存储库 (gitlab)?

    我上传了 2 个包 它们位于我的 gitlab 存储库中 如果我想使用 pip 将它们安装在我的系统中 这很容易 因为 gitlab 可以帮助您 https docs gitlab com ee user packages pypi rep
  • Python 中的字节数组

    如何在 Python 中表示字节数组 如 Java 中的 byte 我需要用 gevent 通过网络发送它 byte key 0x13 0x00 0x00 0x00 0x08 0x00 在Python 3中 我们使用bytes对象 也称为s
  • 如何将base64字符串直接解码为二进制音频格式

    音频文件通过 API 发送给我们 该文件是 Base64 编码的 PCM 格式 我需要将其转换为 PCM 然后再转换为 WAV 进行处理 我能够使用以下代码解码 gt 保存到 pcm gt 从 pcm 读取 gt 保存为 wav decod
  • Flask+Nginx+uWSGI:导入错误:没有名为站点的模块

    我安装为http www reinbach com uwsgi nginx flask virtualenv mac os x html http www reinbach com uwsgi nginx flask virtualenv
  • PyQt:如何通过匿名代理使用网页

    这真让我抓狂 我想在 QWebPage 中显示一个 url 但我想通过匿名代理来实现 Code setting up the proxy proxy QNetworkProxy proxy setHostName 189 75 98 199
  • 从Python中的字符串中提取货币金额

    我正在制作一个程序 从字符串中获取货币并将其转换为其他货币 例如 如果字符串是 the car cost me 13 250 我需要得到 and 13250 我已经有了这个正则表达式 1 确实如此 但是该字符串很有可能有多个价格 并且全部使
  • Kivy - 文本换行工作错误

    我正在尝试在 Kivy 1 8 0 应用程序中换行文本 当没有太多文字时 一切正常 但如果文本很长并且窗口不是很大 它只是剪切文本 这是示例代码 vbox BoxLayout orientation vertical size hint y
  • 将 numpy 数组写入文本文件的速度

    我需要将一个非常 高 的两列数组写入文本文件 而且速度非常慢 我发现如果我将数组改造成更宽的数组 写入速度会快得多 例如 import time import numpy as np dataMat1 np random rand 1000
  • 如何在 Python 3 中循环遍历集合,同时从集合中删除项目

    这是我的情况 我有一个list set 哪个并不重要 movieplayer我想调用的对象 preload 功能开启 该预加载函数可以立即返回 但希望将来返回一点 我想存储这个电影播放器 集合 表明它们尚未预加载 然后循环它们 调用prel
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • Apache Spark 中的高效字符串匹配

    我使用 OCR 工具从屏幕截图中提取文本 每个大约 1 5 句话 然而 当手动验证提取的文本时 我注意到时不时会出现一些错误 鉴于文本 你好 我真的很喜欢 Spark 我注意到 1 像 I 和 l 这样的字母被 替换 2 表情符号未被正确提
  • Pandas 滚动窗口 Spearman 相关性

    我想使用滚动窗口计算 DataFrame 两列之间的 Spearman 和 或 Pearson 相关性 我努力了df corr df col1 rolling P corr df col2 P为窗口尺寸 但我似乎无法定义该方法 添加meth
  • 如何使用 Django 项目设置 SQLite?

    我已阅读 Django 文档 仅供参考 https docs djangoproject com en 1 3 intro tutorial01 https docs djangoproject com en 1 3 intro tutor
  • Python 惰性迭代器

    我试图了解迭代器表达式如何以及何时被求值 以下似乎是一个懒惰的表达 g i for i in range 1000 if i 3 i 2 然而 这个在构造上失败了 g line strip for line in open xxx r if
  • 在 Sphinx 中,有没有办法在声明参数的同时记录参数?

    我更喜欢在声明参数的同一行记录每个参数 根据需要 以便应用D R Y http en wikipedia org wiki Don t repeat yourself 如果我有这样的代码 def foo flab nickers a ser
  • 更改 Python Cmd 模块处理自动完成的方式

    我有一个 Cmd 控制台 设置为自动完成 Magic the Gathering 收藏管理系统的卡牌名称 它使用文本参数在数据库中查询卡片 并使用结果自动完成 建议卡片 然而 这些卡片名称有多个单词 Cmd 会从last到行尾的空间 例如
  • Python 通过从现有 csv 文件中过滤选定的行来写入新的 csv 文件

    只是一个问题 我试图将 csv 文件中的选定行写入新的 csv 文件 但出现错误 我试图读取的 test csv 文件是这样的 两列 2013 9 1 2013 10 2 2013 11 3 2013 12 4 2014 1 5 2014
  • 如何在单元测试中使用 JSON 发送请求

    我的 Flask 应用程序中有在请求中使用 JSON 的代码 我可以像这样获取 JSON 对象 Request request get json 这一直工作得很好 但是我正在尝试使用 Python 的 unittest 模块创建单元测试 但
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro

随机推荐

  • 基于词典的社交媒体内容的情感分析(Python实现)

    之前写了一篇基于NLTK情感预测的文章http www omegaxyz com 2017 12 15 nltk emotion hilite 61 27NLTK 27b 更多内容访问omegaxyz com 情感词典是从微博 新闻 论坛等
  • 在Linux(Ubuntu)下编写编译C语言

    大家都知道在Windows中运行C语言很简单 xff0c 打开一个IDE xff08 VS或者codeblocks xff09 编写代码 xff0c 点击一个按钮就能运行了 在Linux中 xff0c 大家不怎么习惯用IDE xff0c 更
  • 提高C++运行效率的方法

    一 尽量减少值传递 xff0c 多用引用来传递参数 至于其中的原因 xff0c 相信大家也很清楚 xff0c 如果参数是int等语言自定义的类型可能能性能的影响还不是很大 xff0c 但是如果参数是一个类的对象 xff0c 那么其效率问题就
  • 第十三次CCF CSP认证(2018年3月)真题跳一跳

    跳一跳 问题描述 近来 xff0c 跳一跳这款小游戏风靡全国 xff0c 受到不少玩家的喜爱 简化后的跳一跳规则如下 xff1a 玩家每次从当前方块跳到下一个方块 xff0c 如果没有跳到下一个方块上则游戏结束 如果跳到了方块上 xff0c
  • 第十三次CCFCSP认证(2018年3月)真题碰撞的小球

    问题描述 数轴上有一条长度为L xff08 L为偶数 的线段 xff0c 左端点在原点 xff0c 右端点在坐标L处 有n个不计体积的小球在线段上 xff0c 开始时所有的小球都处在偶数坐标上 xff0c 速度方向向右 xff0c 速度大小
  • 第十三次CCF CSP认证(2018年3月)真题URL映射

    问题描述 URL 映射是诸如 Django Ruby on Rails 等网页框架 web frameworks 的一个重要组件 对于从浏览器发来的 HTTP 请求 xff0c URL 映射模块会解析请求中的 URL 地址 xff0c 并将
  • 第十三次CCF CSP认证(2018年3月)真题棋局评估

    问题描述 Alice和Bob正在玩井字棋游戏 井字棋游戏的规则很简单 xff1a 两人轮流往3 3的棋盘中放棋子 xff0c Alice放的是 X xff0c Bob放的是 O xff0c Alice执先 当同一种棋子占据一行 一列或一条对
  • 第十三次CCF CSP认证(2018年3月)真题二次求和

    问题描述 给一棵 n 个节点的树 xff0c 用 1 到 n 的整数表示 每个节点上有一个整数权值 ai 再给出两个整数 L R 现在有 m 个操作 xff0c 每个操作这样描述 xff1a 给定树上两个节点 u v 和一个整数 d xff
  • 演化计算基本方法与思想

    生物系统中 xff0c 进化被认为是一种成功的自适应方法 xff0c 具有很好的健壮性 基本思想 xff1a 达尔文进化论是一种稳健的搜索和优化机制 大多数生物体是通过自然选择和有性生殖进行进化 自然选择决定了群体中哪些个体能够生存和繁殖
  • 发布jar包到Maven中央仓库

    平时自己开发的工具类或者其他的框架的jar包一般都是放在本地 或者把代码上传到github让别人去下载然后自己打包 今天就说说如何把自己的jar包发布到Maven的中央仓库 让其他使用你的jar包的直接去中央仓库下载 如果你用的是阿里云的m
  • 机器学习术语表

    本术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义 原文地址 xff1a https developers google cn machine learning glossary hl 61 zh CN A A B
  • Python单下划线与双下划线

    foo 一种约定 Python内部的名字 用来区别其他用户自定义的命名 以防冲突 foo 一种约定 用来指定变量私有 程序员用来指定私有变量的一种方式 foo 这个有真正的意义 解析器用 classname foo来代替这个名字 以区别和其
  • wxpython控件自适应窗口大小

    问题 xff1a wxpython作的窗口 xff0c 点击窗口最大化 xff0c 就会出问题 xff0c 1 窗口控件并不一起最大化 2 最大化后有些控件找不着了 xff0c 再恢复窗口 xff0c 那些消失的控件一样找不到 wxPyth
  • Python统计磁盘代码文件行数

    听说简历要求10万行代码经验 于是写了个Python脚本用来计算电脑磁盘内代码的行数 主要功能 xff1a 统计指定代码的总行数 统计每个代码单独的行数 自定义设置存储路径 设计思路 xff1a 将文件转化为txt文档 xff0c 对txt
  • 第一个Android程序

    Android Studio 是一个Android集成开发工具 xff0c 基于IntelliJ IDEA 类似 Eclipse ADT xff0c Android Studio 提供了集成的 Android 开发工具用于开发和调试 在ID
  • 面向过程与面向对象代码实例对比

    面向过程式代码 xff08 使用数据结构的代码 xff09 便于在不改动既有数据结构的前提下添加新函数 面向对象代码便于在不改动既有函数前提下添加新类 过程式代码难以添加数据结构 xff0c 因为必须修改所有函数 面向对象代码难以添加新函数
  • 机器学习

    文章目录 机器学习基本理论 基本术语与方法特征选择概述多目标优化问题 分类算法 经典算法 分类算法NSGA2算法粒子群优化算法 xff08 PSO xff09 聚类算法蚁群算法 xff08 ACO xff09 其它算法 前沿算法 NSGA2
  • 英文字母信息熵与冗余度计算Python实现

    26个英文字母在平均出现时的信息熵是4 7BIT 而去掉冗余度后的英文字母的信息熵是4 03BIT 公式 H 信息熵 61 Pi log2 Pi Pi 为每个字母在信息中出现的概率 计算公式并不复杂 取以2为底的对数的道理也很简单 因为如果
  • C++静态成员详解

    静态成员是解决同一个类的不同对象之间数据和函数共享问题的 实例属性 xff1a 一个类的所有对象具有相同的属性 xff0c 属性值可以不同 类属性 xff1a 描述类的所有对象共同特征 xff0c 对于任何对象其属性值相同 静态数据成员 用
  • 混淆矩阵简介与Python实现

    什么是混淆矩阵 混淆矩阵是机器学习中总结分类模型预测结果的情形分析表 xff0c 以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总 这个名字来源于它可以非常容易的表明多个类别是否有混淆 xff08 也就是一个