我在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
我打印了 model.predict
输出的 accuracy
索引并得到了一些看似错误的内容 . (请注意,在培训期间,我的数据中有20%用作验证,因此 0.8 * 11016 = 8812
该模型如何仅对其先前预测的数据具有93%的准确度,准确率为99.9%?