normalize(X, norm='l2', axis=1, copy=True, return_norm=False)
Scale input vectors individually to unit norm (vector length).
范化是将不同变化范围的值映射到相同的固定范围,常见的是[0,1],此时也称为归一化。《机器学习》周志华
可以发现对于每一个样本都有,0.4^2+0.4^2+0.81^2=1,这就是L2 norm,变换后每个样本的各维特征的平方和为1。类似地,L1 norm则是变换后每个样本的各维特征的绝对值和为1。还有max norm,则是将每个样本的各维特征除以该样本各维特征的最大值。
在度量样本之间相似性时,如果使用的是二次型kernel,需要做Normalization
from sklearn.preprocessing import normalize
X=np.array([[1.,-1.,2.],[2.,0.,0.],[0.,1.,-1.]])
help(normalize)
y1=normalize(X,axis=0)
y2=normalize(X,axis=1)
y1=
[[ 0.4472136 -0.70710678 0.89442719]
[ 0.89442719 0. 0. ]
[ 0. 0.70710678 -0.4472136 ]]
y2=
[[ 0.40824829 -0.40824829 0.81649658]
[ 1. 0. 0. ]
[ 0. 0.70710678 -0.70710678]]