Neural network 如何解释没有负面预测?
我用Keras建立了这个模型: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=
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]]