我正在忙于使用循环神经网络来预测加密货币价格。这个项目的原因是学校的要求。我已经完成了项目的很大一部分,但遇到了一个问题。在我的代码中,我有一个数据框(df)。数据框中的值很大,所以我使用以下方法将其转换为较小的值:
for col in df.columns: if col != "target": df[col] = df[col].pct_change() df.dropna(inplace=True) df[col] = preprocessing.scale(df[col].values)
但是,当我将这些数据输入模型后,我需要将这些值重新变回原始值。我已经尝试了网上所有的方法,但始终找不到解决方案。有人可以帮我吗?
编辑:
我想在model.fit之后进行缩放!所以当我用以下代码训练模型时:
# 训练模型model.fit( train_x, train_y, batch_size=64, epochs=EPOCHS, validation_split=0.05, callbacks=[tensorboard])
我该怎么做呢?
回答:
如果你想回到原始数据,你可以使用预缩放器,并通过乘以标准差并加上均值(这与缩放器的操作相反),然后对pct_change
做同样的处理。
但这会给你的数据增加噪音。
这里最好的解决方案是保留你的原始数据,并在另一个数据框中处理网络所需的数据。