预测(Keras)会返回什么?

问题描述 投票:-3回答:2

我的意思是,我知道返回的结果,但是我真正不知道的是以下示例。它给我以下输出:在只有二进制输出[0.238 0.762]的模型中为[0, 1]。所以我知道这是给定输入的每个类的概率,但是每个类对应什么值? [0, 1][1, 0]

python tensorflow machine-learning keras
2个回答
0
投票

Predict返回最后一层的神经网络输出。这不一定是概率,而仅取决于您在神经网络体系结构中使用的内容。简单的答案是,您可以运行

model.predict(x) > 0.5

在大多数情况下应该可以使用。 NN将进行优化以寻求最佳解决方案,但是其中的所有值都是连续的,因此,除非您的问题很容易分开,否则您几乎不会获得全二进制的输出。

要回答您的问题,[0.238 0.762],除非经过特殊培训可能意味着[0,1]


0
投票

对于二进制分类,第一列是类别0的概率,第二列是类别1的概率。您可以从here中的keras代码库L257-L260(keras.wrappers.scikit_learn.KerasClassifier)中进行检查:

# check if binary classification
if probs.shape[1] == 1:
    # first column is probability of class 0 and second is of class 1
    probs = np.hstack([1 - probs, probs])
© www.soinside.com 2019 - 2024. All rights reserved.