Neural network 如何解释没有负面预测?

Neural network 如何解释没有负面预测?,neural-network,keras,confusion-matrix,Neural Network,Keras,Confusion Matrix,我用Keras建立了这个模型: model = Sequential() model.add(LSTM(50, return_sequences=True,input_shape=(look_back, trainX.shape[2]))) model.add(LSTM(50)) model.add(Dense(1, activation='sigmoid')) model.compile(loss='binary_crossentropy', optimizer='adam',metrics=

我用Keras建立了这个模型:

model = Sequential()
model.add(LSTM(50, return_sequences=True,input_shape=(look_back, trainX.shape[2])))
model.add(LSTM(50))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam',metrics=['accuracy'])
model.fit(trainX, trainY,validation_split=0.3, epochs=50, batch_size=1000, verbose=1)
结果令人惊讶。。。当我这样做时:

trainPredict = model.predict(trainX)
testPredict = model.predict(testX)
print(confusion_matrix(trainY, trainPredict.round()))
print(confusion_matrix(testY, testPredict.round()))
我分别得到:

[[129261      0]
[   172 129138]]

换句话说,我的训练混乱矩阵很好,而我的测试混乱矩阵将每个人分类为“积极”。令人惊讶的是,我有非常完美的平衡实例,无论是在训练集还是测试集

为什么我有这个


谢谢

为什么要使用round()方法???@Mitiku我看了另一篇SO帖子(再也找不到了),因为我有一个错误,说你不能比较连续目标和二进制目标,或者诸如此类的东西。如果是这样,请检查这些对于训练和测试都是相同的:-1。数据标准化,2。采样分布您是否忘记了
trainX
testX
的任何预处理步骤?你有没有比较过训练和比赛中的失利是否是因为过度适应?@DanielMöller我不知道,我想没有。我只是对数据的输入形状有点模糊,实际上,我使用了这里提到的
create\u dataset
函数:look\u back=50。当使用“早停”时,我得到的结果稍微好一点,但肯定还是不好(最后一行:10857 14)
[[10822     0]
[10871     0]]