如何规范化神经网络预测股市的输入[python]

如何规范化神经网络预测股市的输入[python],python,neural-network,normalization,Python,Neural Network,Normalization,我正在尝试用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实现一个预测股市的神经网络。在输入中,我有一个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实现吗? 多谢各位

更新: 现在在标准化之前,我将数据数组转换为列表,但是打印

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)
指向文档的链接:


谢谢,我试过了,但它给了我一些警告。我用它们更新了这个问题。我的数据包含6个不同的特征。平均值错误的两个可能原因是:我相信数据缩放是基于每类的。如果出于某种原因不想这样做,请从初始配件中删除标签。此外,应用于测试数据的缩放是一种学习的转换,带有一些错误。这可能是您错误的根源。这只适用于测试数据。我应该在training_标签上贴什么?现在我有y=None,因为我不知道该放什么。感谢您宝贵的帮助神经网络是有监督的分类器,因此需要对标记数据进行训练。以股票市场为例,您可以使用两个标签,即涨价和降价。