1. 程式人生 > >sklearn.preprocessing.PolynomialFeatures的簡單使用

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這種互動式的值。