sklearn.preprocessing.PolynomialFeatures的简单使用

class sklearn.preprocessing.PolynomialFeatures(degree=2interaction_only=Falseinclude_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.]])

有几个点需要注意一下:

  1. 在使用PolynomialFeatures的时候,注意之前要导入类:import sklearn.preprocessing
  2. 上面的代码列出了interaction_only=True/Fasle的区别。以[a,b]举例,即最终结果包不包括ab这种交互式的值。

你可能感兴趣的:(机器学习,sklearn)