如何规范化神经网络预测股市的输入 [python]
How to normalize input of neural network predicting stock market [python]
我正在尝试实现一个预测 python 股市的神经网络。在输入中,我有一个 2d numpy 数组,我想规范化数据。
我尝试使用此代码,但我不认为这是此类任务的最佳选择。
def normData(data):
#data_scaled = preprocessing.scale(data)
data = scale( data, axis=0, with_mean=True, with_std=True, copy=True )
return data
您是否知道可以更好地适应此任务及其 python 实施的任何其他类型的规范化过程?
谢谢
更新:
现在在规范化之前,我从 ndarray 转换为列表,但打印
print data.mean(axis=0)
平均值与 0 相去甚远。大约是 4。有什么想法吗?
我个人会使用 scikit-learn 的标准标量模块。它允许您选择所需的均值和标准差,而且速度非常快。
from sklearn.preprocessing import StandardScaler
# Load data and split into testing and training data
scale = StandardScaler(with_mean=0, with_std=1)
scale.fit(training_data, training_label)
new_training_data = scale.transform(training_data)
new_testing_data = scale.transform(testing_data)
A link 到文档:
http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html
我正在尝试实现一个预测 python 股市的神经网络。在输入中,我有一个 2d numpy 数组,我想规范化数据。 我尝试使用此代码,但我不认为这是此类任务的最佳选择。
def normData(data):
#data_scaled = preprocessing.scale(data)
data = scale( data, axis=0, with_mean=True, with_std=True, copy=True )
return data
您是否知道可以更好地适应此任务及其 python 实施的任何其他类型的规范化过程? 谢谢
更新: 现在在规范化之前,我从 ndarray 转换为列表,但打印
print data.mean(axis=0)
平均值与 0 相去甚远。大约是 4。有什么想法吗?
我个人会使用 scikit-learn 的标准标量模块。它允许您选择所需的均值和标准差,而且速度非常快。
from sklearn.preprocessing import StandardScaler
# Load data and split into testing and training data
scale = StandardScaler(with_mean=0, with_std=1)
scale.fit(training_data, training_label)
new_training_data = scale.transform(training_data)
new_testing_data = scale.transform(testing_data)
A link 到文档:
http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html