我有 6 个类,我在 Tensorflow 中使用 tf-slim 来获得混淆矩阵,例如
[[41 2 0 0 0 0]
[ 1 11 4 1 0 0]
[ 0 1 12 0 0 0]
[ 0 0 0 22 1 0]
[ 0 0 0 0 7 0]
[ 0 0 0 0 0 20]]
我的问题是上表的混淆矩阵顺序是什么?如果我说列代表预测标签,而行代表真实标签,对吗?一些参考在对面说。
我有 6 个类,我在 Tensorflow 中使用 tf-slim 来获得混淆矩阵,例如
[[41 2 0 0 0 0]
[ 1 11 4 1 0 0]
[ 0 1 12 0 0 0]
[ 0 0 0 22 1 0]
[ 0 0 0 0 7 0]
[ 0 0 0 0 0 20]]
我的问题是上表的混淆矩阵顺序是什么?如果我说列代表预测标签,而行代表真实标签,对吗?一些参考在对面说。
你用了tf.confusion_matrix(labels,predictions)
吗?
如果是这样,列代表预测标签,而行代表真实标签。
通常的表示是
PREDICTED
[[41 2 0 0 0 0]
T [ 1 11 4 1 0 0]
R [ 0 1 12 0 0 0]
U [ 0 0 0 22 1 0]
E [ 0 0 0 0 7 0]
[ 0 0 0 0 0 20]]
正如 M. Rath (+1) 所指出的,这也是 Tensorflow 所做的。这意味着对于 41 个样本,您正确预测了 0 类。对于 2 个样本,您预测了 1 类,但它实际上是 0 类。
请注意,您还可以操纵可视化的顺序。所以而不是
class 0, class 1, class 2
你可以有(对于预测和真实值)订单
class 0, class 2, class 1
这包含相同的信息,但可视化可能传达不同的故事。参见我的硕士论文Analysis and Optimization of Convolutional Neural Network Architectures page 48 (Confusion Matrix Ordering),尤其是图 5.12 和 5.13。
可以在工具中找到实现clana