Python 我应该如何解释稀疏分类交叉熵函数的输出?
作为输入,a的浮点值为1.0或0.0。当我尝试用我的模型和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
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
属性找到此映射(请参阅文档和示例)。