指标函数返回错误结果:tf.keras.metrics.Accuracy()

时间:2019-05-05 02:25:55

标签: tensorflow

我正在使用Keras训练模型,这是我的代码:

    32321/32321 [==============================] - 1s 40us/sample - loss: 0.0608 - acc: 1.0000

我的y_test有0:85%; 1:15%,输出:

predictions = model.predict(x_test.values, verbose=1)

但是,当我使用{{1}}进行检查时,它几乎将所有情况预测为0。因此,我认为['accuracy']可能是85%,而不是“ acc:1.0000”。怎么了?

1 个答案:

答案 0 :(得分:0)

我认为您在这里有些困惑:

  • 首先,trd_up = [i - np.pi if plg[index] < 0 else i for index, i in enumerate(trd)] 表示"acc: 1.0000"的精度,它等效于1.0
  • 第二,它是训练数据的准确性,因此不一定与测试数据的准确性有关。几件事可能出了问题。您可能过度拟合,因为与可用的训练数据相比,您使用的模型太大。您可能还需要拟合分布不相同的内容,即100%全为0。如果您不指定更多数据,我们将为您提供进一步的帮助