我在keras(tensorflow后端)中创建了一个简单的前馈网络,这是我的优化器:
sgd = SGD(lr=LEARNING_RATE)
model.compile(loss='binary_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
我正在尝试训练二元分类问题的模型,因此我的输出格式为[0,1]或[1,0]。
我有一个模型检查指针,在此时期之后保存了模型:
8812/8812 [==============================] - 0s 35us/step - loss: 0.0076 -
acc: 0.9994 - val_loss: 0.0010 - val_acc: 0.9995
之后,我调用了model.predict
与模型训练完全相同的数据并获得了以下输出
11016/11016 [==============================] - 0s 22us/step
Classifier accuracy: 0.935003631082
我打印了accuracy
输出的model.predict
索引并得到了一些看似错误的内容。 (请注意,在培训期间,我的数据中有20%用作验证,因此0.8 * 11016 = 8812
该模型如何仅对其先前预测的数据具有93%的准确度,准确率为99.9%?