我正在尝试实现一个神经网络来预测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.任何想法?
答案 0 :(得分:3)
我个人会使用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