2017-10-07 3 views
0

は、私は私のフィーチャデータフレームをスケーリング:78.86000099160675、分:StandartScalerで処理されたデータフレームには、値> 1または<-1?次のように

flattened_num_f.head() 
num_features_test = flattened_num_f.fillna(flattened_num_f.mean()) 

from sklearn.preprocessing import StandardScaler 
std_scaler = StandardScaler() 

num_train_std = pd.DataFrame(std_scaler.fit_transform(num_features_test.loc[y_train_IDs]), \ 
         columns=num_features_test.loc[y_train_IDs].columns, \ 
         index=num_features_test.loc[y_train_IDs].index) 
test_for_stdness(num_train_std) 

最後の機能は、[1、-1]制約がそれは、最大〜100個の要素を見つけ、 を一覧表示するに超えて下落値を追加します。 -2.785050711746339

これは正常ですか、間違えましたか?

答えて

2

StandardScalerは、標準正規分布(平均がゼロで標準偏差が1)に基づいた変換を行います。この分布では、確率変数は、無限大と無限大の間の任意の値をとることができます。値が大きくなるほど、表示されにくくなります。実際、-1より小さいか1より大きい値を見ることができる確率は約32%です。 enter image description here

画像のソースといくつかの計算例については、this Khan Academy pageを参照してください。

最小値を減算して範囲で除算する標準最小値正規化では、0と1の間の値が得られますが、これは線形関数で変更できるため、-1と1の間の値を取得できます。

関連する問題