【发布时间】:2017-09-14 00:32:33
【问题描述】:
我正在播放一些关于循环神经网络的演示。
我注意到我在每一列中的数据规模差异很大。因此,我正在考虑在将数据批次放入我的 RNN 之前做一些预处理工作。关闭的列是我未来要预测的目标。
open high low volume price_change p_change ma5 ma10 \
0 20.64 20.64 20.37 163623.62 -0.08 -0.39 20.772 20.721
1 20.92 20.92 20.60 218505.95 -0.30 -1.43 20.780 20.718
2 21.00 21.15 20.72 269101.41 -0.08 -0.38 20.812 20.755
3 20.70 21.57 20.70 645855.38 0.32 1.55 20.782 20.788
4 20.60 20.70 20.20 458860.16 0.10 0.48 20.694 20.806
ma20 v_ma5 v_ma10 v_ma20 close
0 20.954 351189.30 388345.91 394078.37 20.56
1 20.990 373384.46 403747.59 411728.38 20.64
2 21.022 392464.55 405000.55 426124.42 20.94
3 21.054 445386.85 403945.59 473166.37 21.02
4 21.038 486615.13 378825.52 461835.35 20.70
我的问题是,在我的情况下是否需要使用 sklearn 中的 StandardScaler 预处理数据?为什么?
(欢迎您编辑我的问题)
【问题讨论】:
-
总是有必要对输入和输出数据进行规范化,这样可以提高收敛性,不这样做可能会导致学习失败。
-
@MatiasValdenegro 我应该对 X_train 和 y_train 都进行归一化吗?
-
是的,这些是你的输入和输出数据吧?
-
@MatiasValdenegro 是的。我有一个包含所有数据(问题描述)的大 DataFrame,经过一些处理,我将其分为 X_train、y_train、X_test、y_test。我应该在拆分它们之前还是之后执行标准化?
标签: machine-learning neural-network deep-learning recurrent-neural-network