使用 one-hot 代码的 Tensorflow 混淆矩阵

2023-11-25

我使用 RNN 进行多类分类,这是我的 RNN 主要代码:

def RNN(x, weights, biases):
    x = tf.unstack(x, input_size, 1)
    lstm_cell = rnn.BasicLSTMCell(num_unit, forget_bias=1.0, state_is_tuple=True) 
    stacked_lstm = rnn.MultiRNNCell([lstm_cell]*lstm_size, state_is_tuple=True) 
    outputs, states = tf.nn.static_rnn(stacked_lstm, x, dtype=tf.float32)

    return tf.matmul(outputs[-1], weights) + biases

logits = RNN(X, weights, biases)
prediction = tf.nn.softmax(logits)

cost =tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=Y))
optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate)
train_op = optimizer.minimize(cost)

correct_pred = tf.equal(tf.argmax(prediction, 1), tf.argmax(Y, 1)) 
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))

我必须将所有输入分类为 6 个类,每个类都由 one-hot 代码标签组成,如下所示:

happy = [1, 0, 0, 0, 0, 0]
angry = [0, 1, 0, 0, 0, 0]
neutral = [0, 0, 1, 0, 0, 0]
excited = [0, 0, 0, 1, 0, 0]
embarrassed = [0, 0, 0, 0, 1, 0]
sad = [0, 0, 0, 0, 0, 1]

问题是我无法使用打印混淆矩阵tf.confusion_matrix()功能。

有什么方法可以使用这些标签打印混淆矩阵吗?

如果不是,如何仅在需要打印混淆矩阵时将 one-hot 代码转换为整数索引?


您无法使用 one-hot 向量作为输入参数来生成混淆矩阵labels and predictions。您必须直接向其提供包含标签的一维张量。

要将您的一个热向量转换为普通标签,请使用argmax功能:

label = tf.argmax(one_hot_tensor, axis = 1)

之后您可以打印您的confusion_matrix像这样:

import tensorflow as tf

num_classes = 2
prediction_arr = tf.constant([1,  1, 1, 1,  0, 0, 0, 0,  1, 1])
labels_arr     = tf.constant([0,  1, 1, 1,  1, 1, 1, 1,  0, 0])

confusion_matrix = tf.confusion_matrix(labels_arr, prediction_arr, num_classes)
with tf.Session() as sess:
    print(confusion_matrix.eval())

Output:

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

使用 one-hot 代码的 Tensorflow 混淆矩阵 的相关文章

随机推荐

  • 如何获取应用了我的自定义属性的成员?

    我正在创建一个自定义属性在 C 中 我想根据属性是应用于方法还是应用于属性来执行不同的操作 起初我想做new StackTrace GetFrame 1 GetMethod 在我的自定义属性构造函数中查看什么方法称为属性构造函数 但现在我不
  • 如何将日期转换为 yyyy-MM-dd 格式?

    2012 年 12 月 1 日星期六 00 00 00 GMT 我必须将上面的日期转换为下面的格式 2012 12 01 我怎么能够 我尝试过以下方法 但它不起作用 public Date ConvertDate Date date Dat
  • 使用 javascript 更改

    我有多个音频文件 我想根据用户选择进行流式传输 我怎么做 这是我到目前为止所拥有的 但似乎不起作用 更新 做了一些更改 现在声称audio load 不是一个函数 谁能告诉我这是为什么 本准则已更新以反映这些变化 JavaScript fu
  • Unity IAP 未初始化

    我使用 Unity 购买者脚本 在 Unity 的 IAP 示例中 来测试 IAP 但它们在测试期间不会在手机上初始化 即使它们确实初始化并传递到编辑器中 我知道 Unity 编辑器总是通过 IAP 因此这意味着我没有在 Apple 方面采
  • 从控制器生成 http post 请求

    如果这是一个愚蠢的问题 请原谅我 我对网络编程不太有经验 我正在实现 net mvc 应用程序的支付组件 该组件与外部支付服务交互 支付服务接受以下形式的http post请求 http somepaymentservice com pay
  • 如何在 Struts 2 中使用具有两个条件的

    我迭代项目列表 如果元素的状态等于学生或教师 则需要显示特定的下拉列表 以下代码显示所有字段 但不显示任何元素的下拉列表
  • malloc 未定义

    我目前正在重写链表模块 并且收到一些奇怪的错误 在两个 IDE Netbeans 和 Visual Studio Express 中 我收到一条警告 malloc未定义 并且在 linkedlist c 文件中找到的函数也未定义 下面是我的
  • 如何使用 javascript_include_tag 获取文件夹中的所有脚本

    我想用javascript include tag使用递归获取所有与视图相关的脚本 将其放置在public javascripts views 我想javascript include tag views recursive gt true
  • Java 8矩阵*向量乘法

    我想知道是否有一种更简洁的方法可以在 Java 8 中使用流执行以下操作 public static double multiply double matrix double vector int rows matrix length in
  • 如何在我的 HTTP 请求中使用带有身份验证的代理?

    我有一个代理 IP 地址 还需要用户名和密码 当我尝试使用它们访问网页时 我收到 需要代理身份验证 我发现了 2016 年的另一篇 Stackoverflow 帖子 以及这个已关闭的 Github 问题 但他们没有提供任何有用的东西 代理
  • 使用 ASP NET MVC 4 和 webapi 自定义 http 处理程序和路由处理程序

    我正在开发 ASPNET MVC 4 和 WebApi webapi 方法将由移动设备使用 我们需要保护服务的安全 而我们正在使用的是以某种特定方式加密数据 现在 我需要在到达控制器之前解密该调用 如果解密的信息有效 它应该像平常一样继续发
  • Apache 2.4“..身份验证失败..:密码不匹配”

    我在 Windows Server 2008 R2 中运行 Apache 2 4 我正在尝试用密码保护子目录 并在 Apache 2 0 中成功做到了这一点 升级后 我采纳了 Apache 的建议 并尝试将身份验证配置放入 httpd co
  • 如何防止android对讲说话seekbar进度

    我有一个自定义控件扩展SeekBar 其中我已经覆盖了onInitializeAccessibilityNodeInfo如下 Override public void onInitializeAccessibilityNodeInfo Ac
  • 在C#中用鼠标画线的正确方法是什么

    这是我的绘图代码 用于用鼠标在图表上绘制自定义线条 你能帮我以正确的方式做吗 namespace Grafi public partial class Form1 Form bool isDrawing false Point prevPo
  • 如何确定数组是否包含单独数组中的所有整数

    我在学校的计算机科学课上 我被这个问题困扰了 甚至无法真正想出如何解决它的想法 这里是逐字逐句 编写一个名为的静态方法contains接受两个整数数组 a1 和 a2 作为参数 并返回一个布尔值 指示 a2 的元素序列是否出现在 a1 中
  • DB Plugin 未在 Play 2.0 中注册

    我刚刚开始使用 play 并且修改了执行 SQL 读取的方式 现在收到以下错误 Exception DB plugin is not registered 我这个类的代码是 package models import play api db
  • 从 RichTextBox 复制选定的文本

    我在网上搜索过 但找不到从文件中复制 剪切 粘贴所选文本的方法RichTextBox 就连MSDN也没有给出答案 他们提供的代码不起作用 Copy 似乎仅适用于 TextBox 不适用于 RichTextBox 如果我复制这个方法 Clip
  • Pygame Joystick.get_axis() 始终返回零

    我购买了罗技游戏手柄 F310 来远程控制机器人 我在 Linux Mint 版本 18 Sarah 上使用 Pygame 版本 1 9 1 Python 版本 2 7 11 作为检查操纵杆功能的简单测试 我编写了这个简短的脚本 用于输出不
  • 在 asp.net 中创建自定义 .config 文件 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 有没有一种方法可以在 asp net 中创建 blah config 文件 并以与访问常规 web config 文件中的项目相同的方式访问节点的名称 值对 这个想法是不必为此编
  • 使用 one-hot 代码的 Tensorflow 混淆矩阵

    我使用 RNN 进行多类分类 这是我的 RNN 主要代码 def RNN x weights biases x tf unstack x input size 1 lstm cell rnn BasicLSTMCell num unit f