正规化的本质是将一个向量的长度正规到单位1,以下有两种正则化L1正则化,L2正则化(也叫做欧式正则,分子保持不变分母用的是欧式长度)
一般用在后两个
在#正规化
import numpy as np
import pandas as pd
from sklearn.preprocessing import Normalizer
#直接正规化就行,不用和标注一起进行(也就是监督学习),所以直接用fit_transform()
#第一个结果不是我们想要的,因为他是对每一行进行正规化操作
print(Normalizer(norm="l1").fit_transform(np.array([1,1,3,-1,2]).reshape(-1,1)))
#所以我们要把它变成一行,外面有一个括号,这时候肯定是一行,把reshape去掉就可以
print(Normalizer(norm="l1").fit_transform(np.array([[1,1,3,-1,2]])))
print(Normalizer(norm="l2").fit_transform(np.array([[1,1,3,-1,2]])))
[[ 1.]
[ 1.]
[ 1.]
[-1.]
[ 1.]]
[[ 0.125 0.125 0.375 -0.125 0.25 ]]
[[ 0.25 0.25 0.75 -0.25 0.5 ]]