特征归一化方法

线性归一方法

该方法将输入数据进行等比缩放,将其转换到 [0,1] 的范围,公式为:

Xnorm = (X - Xmin) / (Xmax - Xmin)

  • 优点:消除原始数据的纲量和数量级影响
  • 缺点:依赖最大值与最小值两个极值,而与其他值无关,使得在改变各变量权重时过分依赖极值。

零均值归一方法

该方法将原始数据集归一化为均值为0,方差为1的数据集,公式为:

Xnorm = ( x - u ) / σ

  • 优点:去量纲化
  • 缺点:该方法要求原始数据集满足近似高斯分布,否则归一化效果不好。

使用sklearn.preprocessing.PolynomialFeatures进行特征构造

该方法用多项式的方法来进行,如有a,b两个特征,那么二次多项式为(1,a,b,a2,ab,b2)。

PloynomialFeatures有三个参数:

  • degree:控制多项式的度
  • interaction_only:默认为False,如为Ture,则不会有自己与自己结合的特征项。
  • include_bias:默认为Ture,如为false,则不会有最前面的1。
X = np.arange(6).reshape(3, 2)

array([[0, 1],
[2, 3],
[4, 5]])

poly = PolynomialFeatures()
poly.fit_transform(X)

array([[ 1., 0., 1., 0., 0., 1.],
[ 1., 2., 3., 4., 6., 9.],
[ 1., 4., 5., 16., 20., 25.]])

poly = PolynomialFeatures(interaction:ture)
poly.fit_transform(X)

array([[ 1., 0., 1., 0.],
[ 1., 2., 3., 6.],
[ 1., 4., 5., 20.]])

你可能感兴趣的:(特征归一化方法)