データの標準化された処理 - Python に基づく

データの標準化 - R に基づく


R による標準化については以前に書きました: データの標準化 - R に基づく

正規化

データを [0,1] にスケールします (min—max 正規化)
X ∗ = X i − X min X max − X min X^{\ast}=\frac{X_i-X_{min}}{X_{max } -X_{分}}バツ=バツマックス_ _バツ_バツ私はバツ_
上記の正規化は通常、
平均と呼ばれます。正規化
X ∗ = X i − means ( X ) X max − X min X^{\ast}=\frac{X_i-mean(X)}{X_{max}-X_{分}}バツ=バツマックス_ _バツ_バツ私は平均X _ _ _

Pythonの実装

今回は numpy モジュールと scikit-learn モジュールを使用します。これらは自分でインストールしてください。

import  numpy as np
from  sklearn  import  preprocessing

まず乱数を使用して 10 行 10 列のデータフレームを生成します。

feature=a=np.random.randint(low=10, high=20, size=(10,10))
feature

画像-20221116185640765

まずスケーラーを作成します。コード内の範囲がスケールする範囲であることに注意してください。

#创建缩放器
minmax_scale=preprocessing.MinMaxScaler(feature_range=(0,1))#这里的feature是固定的与数据名无关
scale_feature=minmax_scale.fit_transform(feature)#这里的future就是数据名
print(scale_feature)

出力結果:

画像-20221116190109462

完全なコード: 出力結果がない場合は、印刷を追加してください

import  numpy as np
from  sklearn  import  preprocessing
#%% md

#%%
x=a=np.random.randint(low=10, high=20, size=(10,10))
# feature
#创建缩放器
minmax_scale=preprocessing.MinMaxScaler(feature_range=(0,1))
scale_feature=minmax_scale.fit_transform(x)
scale_feature

標準化

データを平均 0、標準偏差 1 の分布に変換します。必ずしも標準正規分布である必要はありません。

X ∗ ​​= X i − μ σ X^{\ast}=\frac{X_i-\mu}{\sigma}バツ=pバツ私はメートル

ここで、μ は平均、σ は標準偏差です。
データを標準化しても元のデータの分布は変わりません。元のデータが正規分布に従えば、標準化されたデータも標準正規分布に従います。

Pythonの実装

まだ同じライブラリを使用しています

import  numpy as np
from  sklearn  import  preprocessing
x=a=np.random.randint(low=10, high=20, size=(10,10))
#创建缩放器
minmax_scale=preprocessing.StandardScaler()
#转换特征
scale_feature=minmax_scale.fit_transform(x)
scale_feature

正規化されたデータ

画像-20221116190703681

正規化された平均と分散を出力します。

print(f"标准化后的均值为{
      
      round(scale_feature.mean(),2)},标准化后的均值为{
      
      round(scale_feature.std(),3)}")

正規化された平均は -0.0、正規化された平均は 1.0

一般に、2 番目の方がよく使用されます

おすすめ

転載: blog.csdn.net/qq_54423921/article/details/127890923