Python 我应该如何解释稀疏分类交叉熵函数的输出?

Python 我应该如何解释稀疏分类交叉熵函数的输出?,python,tensorflow,machine-learning,keras,loss,Python,Tensorflow,Machine Learning,Keras,Loss,作为输入,a的浮点值为1.0或0.0。当我尝试用我的模型和sparse\u categorical\u crossentropy损失进行预测时,我得到如下结果: [[0.4846592 0.5153408]] 我如何知道它预测的是什么类别?您看到的这些数字是给定输入样本中每个类别的概率。例如,[[0.4846592 0.5153408]表示给定样本属于0类,概率约为0.48,属于1类,概率约为0.51。因此,您希望选择概率最高的类,因此您可以使用查找哪个索引(即0或1)是最大的: import

作为输入,a的浮点值为1.0或0.0。当我尝试用我的模型和
sparse\u categorical\u crossentropy
损失进行预测时,我得到如下结果:
[[0.4846592 0.5153408]]


我如何知道它预测的是什么类别?

您看到的这些数字是给定输入样本中每个类别的概率。例如,
[[0.4846592 0.5153408]
表示给定样本属于0类,概率约为0.48,属于1类,概率约为0.51。因此,您希望选择概率最高的类,因此您可以使用查找哪个索引(即0或1)是最大的:

import numpy as np

pred_class = np.argmax(probs, axis=-1) 

此外,这与模型的损失函数无关。这些概率由模型中的最后一层给出,该层很可能使用
softmax
作为激活函数,将输出标准化为概率分布。

我知道这是一个老问题,但您如何知道“0类”指的是哪个类别名称?sklearn@alan.elkin的一个热编码器中是否有类似OHE.categories的东西?如果使用
sparse\u categorical\u crossentropy
,您分配给数字0的类别实际上是0类;您分配给编号1的类别实际上是类别1;等等例如,如果使用from sklearn,则可以通过
.classes\uu
属性找到此映射(请参阅文档和示例)。