如何正常化神经网络预测股票市场的输入[python]
问题描述:
我想实现一个预测股市在python中的神经网络。在输入中我有一个2d numpy数组,我想规范化数据。 我试过这段代码,但我不这样做,这是这类任务的最佳选择。如何正常化神经网络预测股票市场的输入[python]
def normData(data):
#data_scaled = preprocessing.scale(data)
data = scale(data, axis=0, with_mean=True, with_std=True, copy=True)
return data
你知道任何其他类型的规范化过程,可以更好地适应这个任务和它的python实现吗? 谢谢
UPDATE: 现在正常化之前,我transfrom的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)
链接到文件:
http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html
谢谢,我尝试,但它给了我一些警告。我更新了他们的问题 – Pino
我的数据包含6个不同的功能。 – Pino
意思错误的两个可能原因:我认为数据缩放是基于每个类别的。如果您出于某种原因不想这样做,请从初始配件中取出标签。此外,应用于测试数据的缩放比例是具有一定误差的学习转换。这可能是你错误的根源。这仅适用于测试数据。 –