我正在使用一个数据集来查看电影的评论是肯定的(1)还是否定的(0),并且完成了模型的训练,当我试图预测评论的输出时,它像这样< / p>
我不知道该怎么办以及“红色”突出显示的行是什么意思;我训练和返回输出的代码是
model = keras.Sequential()
model.add(keras.layers.Embedding(80000, 16))
model.add(keras.layers.GlobalAveragePooling1D())
model.add(keras.layers.Dense(16, activation = "relu"))
model.add(keras.layers.Dense(1, activation = "sigmoid"))
model.compile(optimizer = "adam", loss= "binary_crossentropy", metrics = ["accuracy"])
x_val = train_data[:10000]
x_train = train_data[10000:]
y_val = train_labels[:10000]
y_train = train_labels[10000:]
fitmodel = model.fit(x_train, y_train, epochs = 40, batch_size=512, verbose=1)
results = model.evaluate(test_data, test_labels)
print(results)
print("Review:")
print(decode_review(train_data[1]))
#decode_review is just a function that prints text form of review because originally it is in the for
#of numbers to train our neural network
print("Actual Classification:")
print(train_labels[1])
print("Predection")
out = model.predict_classes([train_data[1]])
print(out)
并且输出必须是(单个)乙状神经元,因为如果观察到上面的代码,则网络的最后一层是下一个(单个神经元)
model.add(keras.layers.Dense(1, activation = "sigmoid"))
但是如果您观察照片,您可能已经观察到输出是一个巨大的数字数组(0,1)...。[但是我想将输出设为0或1,我认为是红色照片中的突出显示行表示有人可以解释我的代码有什么错误]
以防您想观察并运行我的代码。我所有的代码都将可用here 为了进一步澄清,请发表评论。 谢谢