def datastandard():
from sklearn import preprocessing
import numpy as np
x = np.array([
[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
print('原始数据为:
',x)
print('method1:指定均值方差数据标准化(默认均值0 方差 1):')
print('使用scale()函数 按列标准化')
x_scaled = preprocessing.scale(x)
print('标准化后矩阵为:
',x_scaled,end='
')
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('标准化后矩阵为:
',x_scaled,end='
')
print('cur mean:', x_scaled.mean(axis=1), 'cur std:', x_scaled.std(axis=1))
print('
method2:StandardScaler类,可以保存训练集中的参数')
scaler = preprocessing.StandardScaler().fit(x)
print('标准化前 均值方差为:',scaler.mean_,scaler.scale_)
print('标准化后矩阵为:
',scaler.transform(x),end='
')
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. ]]
python 常用代码
# coding:utf8
'''
提取文档中含有某个字符的所有行,并打印出来
'''
file_path = 'E:/gengyanpeng/义乌调研资料/客运gyp资料/keyun-bi.sql'
fix_str = 'FROM'
def print_line(txt,fix_str):
lines = txt.split('
')
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)