如何规范化神经网络预测股市的输入[python]
我正在尝试用python实现一个预测股市的神经网络。在输入中,我有一个2d numpy数组,我想规范化数据。 我尝试使用此代码,但我不认为这是此类任务的最佳选择如何规范化神经网络预测股市的输入[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 您知道任何其他类型的规范
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,因为我不知道该放什么。感谢您宝贵的帮助神经网络是有监督的分类器,因此需要对标记数据进行训练。以股票市场为例,您可以使用两个标签,即涨价和降价。