Keras model.predict用于多项Logistic回归

时间:2017-01-10 13:21:07

标签: python machine-learning neural-network keras data-science

我正在训练一个模型,其输出是一个大小为19的softmax层。当我尝试model.predict(x)时,对于每个输入,我得到的是19个类中的概率分布。我尝试了model.predict_classes,得到了一个大小为x的numpy数组,每个输出等于0.我怎样才能得到一个热输出的输出?

1 个答案:

答案 0 :(得分:0)

所以predcit_classes的文档有点误导,因为如果你仔细检查它implementation,你会发现它只适用于二进制分类。为了解决您的问题,您可以通过以下方式使用numpy库(基本上是一个函数argmax):

import numpy as np
classes = np.argmax(model.predict(x), axis = 1)

..为每个示例获取一个带有类号的数组。为了获得单热矢量 - 您可以通过以下方式使用keras内置函数to_categorical

import numpy as np
from keras.utils.np_utils import to_categorical
classes_one_hot = to_categorical(np.argmax(model.predict(x), axis = 1))