归一化这里max(price)是不是写错了?
来源:9-6 实战(二)RNN股价预测
谢思阳
2020-03-12
data_test = pd.read_csv('zgpa_test.csv')
data_test.head()
price_test = data_test.loc[:,'close']
price_test.head()
price_test_norm = price_test/max(price)
#extract X_test and y_test
X_test_norm, y_test_norm = extract_data(price_test_norm,time_step)
print(X_test_norm.shape,len(y_test_norm))
老师,从这里包括后面的代码,用的都是test数据而不是train的数据,归一化是不是应该用max(price_test)而不是max(price)?
写回答
1回答
-
同学你好,需要使用和训练数据一致的最大数值进行数据预处理,这样才能保证模型的有效性。思考:训练数据是1,2,3,最大值为3,进行预处理变为1/3,2/3,3/3,用于模型训练,模型判断输入为3/3的输出为10.接下来我们有测试数据1,2,2,其最大值为2,如果改用测试数据的2作为分母,那在输入为2的时候,数据预处理完变为1,模型预测为10,这是不对的。因此,测试数据的预处理应该是和训练数据一致的。
222020-03-12
相似问题