赞
踩
- from sklearn import preprocessing
- import numpy as np
- X = np.array([[ 1., -1., 2.],[ 2., 0., 0.],[ 0., 1., -1.]])
- X_scaled = preprocessing.scale(X)
- array([[ 0. , -1.22474487, 1.33630621],
- [ 1.22474487, 0. , -0.26726124],
- [-1.22474487, 1.22474487, -1.06904497]])
- X_scaled.mean(axis=0)
- array([ 0., 0., 0.])
-
- X_scaled.std(axis=0)
- array([ 1., 1., 1.])
- scaler = preprocessing.StandardScaler().fit(X)
- scaler.transform(X)
-
- array([[ 0. , -1.22474487, 1.33630621],
- [ 1.22474487, 0. , -0.26726124],
- [-1.22474487, 1.22474487, -1.06904497]])
-
- scaler.mean_
- array([ 1. , 0. , 0.33333333])
-
- scaler.var_
- array([ 0.66666667, 0.66666667, 1.55555556])
- minmaxscaler = preprocessing.MinMaxScaler().fit(X)
- minmaxscaler.transform(X)
-
- array([[ 0.5 , 0. , 1. ],
- [ 1. , 0.5 , 0.33333333],
- [ 0. , 1. , 0. ]])
-
- minmaxscaler.scale_
- array([ 0.5 , 0.5 , 0.33333333])
-
- minmaxscaler.min_
- array([ 0. , 0.5 , 0.33333333])
也可直接应用fit_transform(X)实现fit和transform功能。
norm:可以为l1、l2或max,默认为l2
若为l1时,样本各个特征值除以各个特征值的绝对值之和
若为l2时,样本各个特征值除以各个特征值的平方之和
若为max时,样本各个特征值除以样本中特征值最大的值
- from sklearn import preprocessing
- import numpy as np
- X = np.array([[ 1., -1., 2.],[ 2., 0., 0.],[ 0., 1., -1.]])
- scaler= preprocessing.Normalizer(norm='l1').fit(X)
- X_scaled = scaler.transform(X)
- print(X)
- print(X_scaled)
-
-
- [[ 1. -1. 2.]
- [ 2. 0. 0.]
- [ 0. 1. -1.]]
- [[ 0.25 -0.25 0.5 ]
- [ 1. 0. 0. ]
- [ 0. 0.5 -0.5 ]]
转自:https://blog.csdn.net/u013402321/article/details/79043402
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。