python 資料標準化

2021-08-09 19:16:45 字數 2666 閱讀 1564

def datastandard():

from sklearn import preprocessing

import numpy as np

x = np.array([

[ 1., -1., 2.],

[ 2., 0., 0.],

[ 0., 1., -1.]])

print('原始資料為:\n',x)

print('method1:指定均值方差資料標準化(預設均值0 方差 1):')

print('使用scale()函式 按列標準化')

x_scaled = preprocessing.scale(x)

print('標準化後矩陣為:\n',x_scaled,end='\n\n')

print('cur mean:', x_scaled.mean(axis=0), 'cur std:', x_scaled.std(axis=0))

print('使用scale()函式 按行標準化')

x_scaled = preprocessing.scale(x,axis=1)

print('標準化後矩陣為:\n',x_scaled,end='\n')

print('cur mean:', x_scaled.mean(axis=1), 'cur std:', x_scaled.std(axis=1))

print('\nmethod2:standardscaler類,可以儲存訓練集中的引數')

scaler = preprocessing.standardscaler().fit(x)

print('標準化前 均值方差為:',scaler.mean_,scaler.scale_)

print('標準化後矩陣為:\n',scaler.transform(x),end='\n\n')

print('***2.資料歸一化,對映到區間[min,max]:')

min_max_scaler = preprocessing.minmaxscaler(feature_range=(0,10))

print(min_max_scaler.fit_transform(x))

if __name__ == '__main__':

datastandard()

結果如下:

原始資料為:

[[ 1. -1. 2.]

[ 2. 0. 0.]

[ 0. 1. -1.]]

method1:指定均值方差資料標準化(預設均值0 方差 1):

使用scale()函式 按列標準化

標準化後矩陣為:

[[ 0. -1.22474487 1.33630621]

[ 1.22474487 0. -0.26726124]

[-1.22474487 1.22474487 -1.06904497]]

cur mean: [ 0. 0. 0.] cur std: [ 1. 1. 1.]

使用scale()函式 按行標準化

標準化後矩陣為:

[[ 0.26726124 -1.33630621 1.06904497]

[ 1.41421356 -0.70710678 -0.70710678]

[ 0. 1.22474487 -1.22474487]]

cur mean: [ 1.48029737e-16 7.40148683e-17 0.00000000e+00] cur std: [ 1. 1. 1.]

method2:standardscaler類,可以儲存訓練集中的引數

標準化前 均值方差為: [ 1. 0. 0.33333333] [ 0.81649658 0.81649658 1.24721913]

標準化後矩陣為:

[[ 0. -1.22474487 1.33630621]

[ 1.22474487 0. -0.26726124]

[-1.22474487 1.22474487 -1.06904497]]

***2.資料歸一化,對映到區間[min,max]:

[[ 5. 0. 10. ]

[ 10. 5. 3.33333333]

[ 0. 10. 0. ]]

# coding:utf8

'''提取文件中含有某個字元的所有行,並列印出來

'''file_path = 'e:/gengyanpeng/keyun-bi.sql'

fix_str = 'from'

def print_line(txt,fix_str):

lines = txt.split('\n')

for line in lines:

if fix_str in line:

print(line.strip())

with open(file_path,'r+',encoding='utf8') as f:

text = f.read()

print_line(text,fix_str)

Python 資料標準化

定義 將資料按照一定的比例進行縮放,使其落入乙個特定的區間。好處 加快模型的收斂速度,提高模型 精度 常見的六種標準化方法 class datanorm def init self self.arr 1 2,3 4,5 6,7 8,9 self.x max max self.arr self.x m...

Python資料標準化

z score標準化 1.產生隨機數 import numpy as np 產生隨機數 data 1 np.random.randn 3,4 從標準正態分佈中返回乙個或多個樣本值.data 2 np.random.rand 3,4 產生 0,1 的數 print randn產生的隨機數 n data...

python中資料標準化

公式為 x mean std 計算時對每個屬性 每列分別進行。將資料按期屬性 按列進行 減去其均值,並處以其方差。得到的結果是 對於每個屬行 每列來說所有資料都聚集在0附近,方差為1。實現時,有兩種不同的方式 1 sklearn.preprocessing.scale 函式,可以直接將給定資料進行標...