2017-11-14 3 views
1

誤った言葉の場合は事前にお詫びします。私がこれに答えを見つけることができない理由は、私が正しい用語を使用していないためかもしれません。ゼロを中心に-1と1との間のデータをスケーリングする

私はこのコラムの最小値と最大値のための-1.0と1.0の間のfloatにデータをスケーリングしたい列ごとに

0  -0.004973 0.008638 0.000264  -0.021122 -0.017193 
1  -0.003744 0.008664 0.000423  -0.021031 -0.015688 
2  -0.002526 0.008688 0.000581  -0.020937 -0.014195 
3  -0.001322 0.008708 0.000740  -0.020840 -0.012715 
4  -0.000131 0.008725 0.000898  -0.020741 -0.011249 
5   0.001044 0.008738 0.001057  -0.020639 -0.009800 
6   0.002203 0.008748 0.001215  -0.020535 -0.008368 
7   0.003347 0.008755 0.001373  -0.020428 -0.006952 
8   0.004476 0.008758 0.001531  -0.020319 -0.005554 
9   0.005589 0.008758 0.001688  -0.020208 -0.004173 
10  0.006687 0.008754 0.001845  -0.020094 -0.002809 
... 

ようになりますデータフレームを持っています。
私はscaler = MinMaxScaler(feature_range = (-1, 1))でscikit learnのminmaxスケーラーを試しましたが、保存する必要がある結果としていくつかの値が変更されました。

スケーリングをゼロにする方法はありますか?

+0

データフレームのサンプルのみを表示しています。すべての列に正の値と負の値があります。 –

+1

負の値と正の値があります。あなたは0点を維持したいですか?その場合、負の数をdf(または正規化したい行または列のいずれか)の最小値と最大値の正の値で除算するだけです。 –

+0

ちょうどそのトリックをするかもしれない@GáborErdősありがとう! –

答えて

2

sklearnのStandardScalerを試しましたか?

with_meanwith_stdオプションがあり、必要なデータを取得するために使用できます。

+1

しかし、それは時折値が1(-1)よりも大きく(小さく)なるでしょう。おそらく 'StandardScaler'に続いて' MinMaxScaler'を使用していますか? –

+0

の場合、4 * sgima = 1、with_std = '1/4'を使用します。私はそれが1に-1境界を越えていないと信じています –

+0

私は、それがOPのために十分になるかどうかわからない、私は推測することができます。 –

関連する問題