当考试成绩超过100分时,这意味着什么



我在测试集上测试时创建的MLP多次显示测试分数超过100。编码或输入的数据是否有错误?

我的代码:

model = Sequential()
model.add(Dense(3, input_dim = 6))
model.add(Dense(3, activation='tanh'))
model.add(Dense(1))
opt = optimizers.Adam(learning_rate=0.01)
model.compile(optimizer=opt , loss='mean_squared_error')
model.fit(x, y, epochs=ep, batch_size = 50 ,verbose=0)
test_score = model.evaluate(test_x, test_y, verbose = 0)
test_score = sqrt(test_score)
test_score = get_unscaled (test_sf, np.array([test_score]))

model.evaluate可以返回两种类型的值:

  • 标量:如果您没有将metric属性的值显式传递给model.compile,它只返回损失(如果是均方误差,则可以是任何非负实数(
  • 标量列表:如果您已将度量传递给model.compilemodel.evaluate将返回标量列表,第一个元素是loss,所有其他元素都是您传递的度量值

要简单地解决您的问题,请像model.compile(optimizer=opt, loss='mean_squared_error', metrics=['accuracy'])一样将您想要的度量(比如准确性(传递给model.compile。运行model.evaluate将返回[loss, accuracy]。请参阅此。

在开始编码之前,您需要了解自己在做什么。你似乎不清楚均方误差的含义。请先读一些理论和Keras文档。

最新更新