2016-12-15 72 views
3

我想實現一個預測股市在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.任何想法路有多遠?

回答

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

+0

謝謝,我嘗試,但它給了我一些警告。我更新了他們的問題 – Pino

+0

我的數據包含6個不同的功能。 – Pino

+1

意思錯誤的兩個可能原因:我認爲數據縮放是基於每個類別的。如果您出於某種原因不想這樣做,請從初始配件中取出標籤。此外,應用於測試數據的縮放比例是具有一定誤差的學習轉換。這可能是你錯誤的根源。這僅適用於測試數據。 –