线性归一方法
该方法将输入数据进行等比缩放,将其转换到 [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.]])
网友评论