class sklearn.preprocessing.
PolynomialFeatures
(degree=2, interaction_only=False, include_bias=True):此类使用来生成交叉特征的,并且多项式包含的是相互影响的特征集。解释一下其中几个参数:
- degree:默认情况下,该多项式为2次。譬如形式为二维的[a,b],那么其二次多项式的特征为[1, a, b, a^2, ab, b^2]
- interraction_only:boolean,默认为False。如果为true,则会产生相互影响的特征集
- include_bias:bollean,是否包含偏差列
以下给出官方文档的例子:
>>> X = np.arange(6).reshape(3, 2)
>>> X
array([[0, 1],
[2, 3],
[4, 5]])
>>> poly = PolynomialFeatures(2)
>>> 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_only=True)
>>> poly.fit_transform(X)
array([[ 1., 0., 1., 0.],
[ 1., 2., 3., 6.],
[ 1., 4., 5., 20.]])
有几个点需要注意一下:
- 在使用PolynomialFeatures的时候,注意之前要导入类:import sklearn.preprocessing
- 上面的代码列出了interaction_only=True/Fasle的区别。以[a,b]举例,即最终结果包不包括ab这种交互式的值。