用于多类分类的 Tensorflow 混淆矩阵

阿维武

谢谢你的帮助。我正在为面部动作(例如扬起的眉毛、分开的嘴唇)编写一个多类二元分类器,我想制作一个混淆矩阵。有6个面部动作和593个样本。我收到此错误:我收到此错误:“形状 (?, 2, 6) must have rank 2”。从文档中, tf.confusion_matrix 采用一维向量,但我认为应该有一种方法可以根据TensorBoard 中的 Tensorflow Confusion Matrix 来调整来自 feed_dict 的输入数据,使其工作标签和预测如下:

# Rows are samples, columns are classes, and the classes shows a facial
# action which is either 1 for detection or 0 for no detection. 
[[0, 0, 1, 0, 1, 0],
[1, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 1, 1],...]

我正在使用前馈 MLP,变量“pred”是预测,阈值强制选择 0 或 1。我尝试将预测和标签乘以 np.arange(1,7) 以获得正值匹配索引,但我被困在参数的形状上。

还有更多代码,但我正在展示我认为相关的内容。

sess = tf.Session()

x = tf.placeholder(tf.float32, [None, n_input], name = "x")
y = tf.placeholder(tf.float32, [None, n_output], name = "labels")

#2 fully connected layers
fc1 = fc_layer(x, n_input, n_hidden_1, "fc1")
relu = tf.nn.relu(fc1)
tf.summary.histogram("fc1/relu", relu)
logits = fc_layer(relu, n_hidden_1, n_output, "fc2")

# Calculate loss function
with tf.name_scope("xent"):
    xent = tf.reduce_mean(
        tf.nn.sigmoid_cross_entropy_with_logits(
            logits=logits, labels=y, name="xent"))

with tf.name_scope("train"):
    train_step = tf.train.AdamOptimizer(learning_rate).minimize(xent)


# Choose between 0 and 1
onesMat = tf.ones_like(logits)
zerosMat = tf.zeros_like(logits)   
pred = tf.cast(tf.where(logits>=zero,onesMat,zerosMat),dtype=tf.float32, name = "op_to_restore")

# Problem occurs when I add this line. 
confusion = tf.confusion_matrix(predictions = pred*np.arange(1,7), labels = y*np.arange(1,7), num_classes = n_output, name = "confusion")

# Save and visualize results
saver = tf.train.Saver()
init = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer())
sess.run(init)

writer = tf.summary.FileWriter(LOGDIR + hparam + '/train')
writer.add_graph(sess.graph)


# Train
for i in range(2001):
    if i % 5 == 0:
      [train_accuracy, s] = sess.run([accuracy, summ], feed_dict={x: train_x, y: train_y})
      writer.add_summary(s, i)
    if i % 50 == 0:
      [acc,s] = sess.run([accuracy, summ],feed_dict={x: test_x, y: test_y})
    sess.run(train_step, feed_dict={x: train_x, y: train_y})

谢谢!

H.森卡亚

我和你有同样的问题。我使用了argmax 函数来解决我的问题。

试试这段代码(或类似的):

cm = tf.confusion_matrix(labels=tf.argmax(y*np.arange(1,7), 1), predictions=tf.argmax(pred*np.arange(1,7)))

#then check the result:
with tf.Session() as sess:
    cm_reachable = cm.eval()
    print(cm_reachable)

并查看此详细说明:使用单热代码的 Tensorflow 混淆矩阵

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

建立用于多类多标签分类的混淆矩阵

来自分类Dev

使用Tensorflow在CNN分类上绘制混淆矩阵

来自分类Dev

用于火炬多标签分类的优化混淆矩阵的替代方案

来自分类Dev

Tensorflow:如何创建混淆矩阵

来自分类Dev

混淆矩阵分类报告 - Keras

来自分类Dev

如何构造多类变量的混淆矩阵

来自分类Dev

显示混淆矩阵中分类错误的数字

来自分类Dev

R混淆矩阵错误 - 分类树

来自分类Dev

Tensorflow Precision / Recall / F1得分和混淆矩阵

来自分类Dev

在 Tensorflow for Tensorboard 中向混淆矩阵添加文本标签

来自分类Dev

计算ROC曲线,分类报告和混淆矩阵以解决多标签分类问题

来自分类Dev

Tensorflow 中的多标签多类分类器

来自分类Dev

应用函数从列表中的分类树类概率的嵌套列表中生成混淆矩阵

来自分类Dev

为多类分类设置偏见python tensorflow keras

来自分类Dev

超过3类的Scikit-learn(sklearn)混淆矩阵图

来自分类Dev

如何使用Tensorflow创建预测和地面真实标签的混淆矩阵?

来自分类Dev

多类案例的混淆矩阵,所有评估指标的估计

来自分类Dev

从标签生成向量矩阵以进行多类分类(向量化)

来自分类Dev

XGBOOST-多类别预测。预测矩阵是类别的概率集。如何执行混淆矩阵

来自分类Dev

tensorflow 多标签分类 mnist

来自分类Dev

TensorFlow与PyTorch卷积混淆

来自分类Dev

如何在Matlab SVM分类器中使用crossval()函数的输出创建混淆矩阵?

来自分类Dev

图像分类器的混淆矩阵和F1分数

来自分类Dev

Tensorflow:如何在多类分类中使用tf.keras.metrics?

来自分类Dev

未使用 R 中的插入符号包预测所有类时的混淆矩阵

来自分类Dev

Tensorflow中的多标签分类器

来自分类Dev

TensorFlow用于二进制分类

来自分类Dev

libSvm中的混淆矩阵?

来自分类Dev

PyTorch混淆矩阵图

Related 相关文章

  1. 1

    建立用于多类多标签分类的混淆矩阵

  2. 2

    使用Tensorflow在CNN分类上绘制混淆矩阵

  3. 3

    用于火炬多标签分类的优化混淆矩阵的替代方案

  4. 4

    Tensorflow:如何创建混淆矩阵

  5. 5

    混淆矩阵分类报告 - Keras

  6. 6

    如何构造多类变量的混淆矩阵

  7. 7

    显示混淆矩阵中分类错误的数字

  8. 8

    R混淆矩阵错误 - 分类树

  9. 9

    Tensorflow Precision / Recall / F1得分和混淆矩阵

  10. 10

    在 Tensorflow for Tensorboard 中向混淆矩阵添加文本标签

  11. 11

    计算ROC曲线,分类报告和混淆矩阵以解决多标签分类问题

  12. 12

    Tensorflow 中的多标签多类分类器

  13. 13

    应用函数从列表中的分类树类概率的嵌套列表中生成混淆矩阵

  14. 14

    为多类分类设置偏见python tensorflow keras

  15. 15

    超过3类的Scikit-learn(sklearn)混淆矩阵图

  16. 16

    如何使用Tensorflow创建预测和地面真实标签的混淆矩阵?

  17. 17

    多类案例的混淆矩阵,所有评估指标的估计

  18. 18

    从标签生成向量矩阵以进行多类分类(向量化)

  19. 19

    XGBOOST-多类别预测。预测矩阵是类别的概率集。如何执行混淆矩阵

  20. 20

    tensorflow 多标签分类 mnist

  21. 21

    TensorFlow与PyTorch卷积混淆

  22. 22

    如何在Matlab SVM分类器中使用crossval()函数的输出创建混淆矩阵?

  23. 23

    图像分类器的混淆矩阵和F1分数

  24. 24

    Tensorflow:如何在多类分类中使用tf.keras.metrics?

  25. 25

    未使用 R 中的插入符号包预测所有类时的混淆矩阵

  26. 26

    Tensorflow中的多标签分类器

  27. 27

    TensorFlow用于二进制分类

  28. 28

    libSvm中的混淆矩阵?

  29. 29

    PyTorch混淆矩阵图

热门标签

归档