范数基本概念这里不予赘述,L0,L1,L2和无穷范数
范数规范化代码如下
from sklearn import preprocessing
import numpy as np
# 原始数据X
X = np.array([[3, -2., 2.], [2., 0., 0.], [-1, 1., 3.]]) # 按行表示,按列计算
# 范数规范化的函数化实现,其中规范化系数norm为L2,还有其他形式,诸如L1,max
X_norm=preprocessing.normalize(X,norm='l2')
print(u"范数L2规范化变换后的输出:\n")
print(X_norm)
# 范数规范化的类实现,其中规范化系数norm为L1
normalizer=preprocessing.Normalizer(norm='l1').fit(X)
print(u"范数L1规范化变换之后的输出:\n")
print(normalizer.transform(X))
输出结果:
[[ 0.72760688 -0.48507125 0.48507125]
[ 1. 0. 0. ]
[-0.30151134 0.30151134 0.90453403]]
范数L1规范化变换之后的输出:
[[ 0.42857143 -0.28571429 0.28571429]
[ 1. 0. 0. ]
[-0.2 0.2 0.6 ]]