我不明白我的rMSE实施有什么问题。我正在使用MSE作为损失函数来训练我的模型,并且对于指标也是如此。训练之后,我使用evaluate
函数在测试集中评估我的模型,然后使用predict
函数来获取值。然后我申请rMSE。我的代码是:
obs= model.compile(loss='mse', optimizer=keras.optimizers.Adam(lr=0.001),metrics=['mse'])
.......
test_eval = model.evaluate(X_test, Y_test, verbose=1)
print('Test loss (MSE):', test_eval[0])
predicted= model.predict(X_test, verbose=0)
rMSE = np.sqrt(pow(np.mean(predited- Y_test), 2))
print(rMSE)
我得到了这个结果:
Test loss (MSE): 12.0075311661
2.90274470011
但12.0075311661的平方不是2.90274470011。那么,出了什么问题?
答案 0 :(得分:3)
在找到平均值之前,元素化方差。你想找到平方差的平均值,而不是平均距离的平方。