为什么我这个lstm模型预测出来的结果形状都几乎是一致的呢,训练的时候损失越来越小,结果的数值也会改变,但是形状却几乎一样



红色的那条线段是结果,实在想不明白为什么了,模型也修改过很多次了
为什么我这个lstm模型预测出来的结果形状都几乎是一致的呢,训练的时候损失越来越小,结果的数值也会改变,但是形状却几乎一样



关注【相关推荐】
其实对预测值反归一化需要注意一个问题,那就是预测值的形状shape要和归一化前的数据形状相同,在多特征中也是如此,后面将会进行介绍。
#模型验证,在测试集中进行验证
test_pred = model.predict(X_test, verbose =1)
#对得到的预测值和真实值进行反归一化
original_test_pred=scaler.inverse_transform(test_pred)
original_y_test=scaler.inverse_transform(y_test)
计算各种评价参数其中包括MSE,RMSE,MAE,MAPE,r2
from sklearn import metrics
# MAPE需要自己实现
def mape(y_true, y_pred):
return np.mean(np.abs((original_y_test-original_test_pred) / original_y_test))
y_true = np.array(original_y_test)
y_pred = np.array(original_test_pred)
print('MSE:',metrics.mean_squared_error(original_y_test,original_test_pred))
print('RMSE:',np.sqrt(metrics.mean_squared_error(original_y_test,original_test_pred)))
print('MAE:',metrics.mean_absolute_error(original_y_test,original_test_pred))
print('MAPE:',mape(original_y_test,original_test_pred))
score = r2_score(original_y_test,original_test_pred)
print("r^2的值:",score)