2016-12-15 10 views
3

私は株式市場を予測するニューラルネットワークを実装しようとしています。入力には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: 今すぐ正規化する前に、私はリストするndarrayをtransfromが、

print data.mean(axis=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

+0

は、ありがとう、私が試したが、それは私にいくつかの警告を与えます。私はそれらとの質問を更新 – Pino

+0

私のデータは6つの異なる機能が含まれています。 – Pino

+1

意味が間違っている2つの理由:私は、データのスケーリングはクラス単位であると信じています。何らかの理由でこれをしたくない場合は、最初のフィッティングからラベルを外します。また、テストデータに適用されるスケーリングは、何らかのエラーを伴う学習変換です。これがエラーの原因となる可能性があります。これはデータのテストにのみ適用されます。 –

関連する問題