當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn PolynomialFeatures用法及代碼示例


本文簡要介紹python語言中 sklearn.preprocessing.PolynomialFeatures 的用法。

用法:

class sklearn.preprocessing.PolynomialFeatures(degree=2, *, interaction_only=False, include_bias=True, order='C')

生成多項式和交互特征。

生成一個新的特征矩陣,由度數小於或等於指定度數的特征的所有多項式組合組成。例如,如果輸入樣本是二維的並且具有 [a, b] 的形式,則 2 次多項式特征是 [1, a, b, a^2, ab, b^2]。

在用戶指南中閱讀更多信息。

參數

degreeint 或元組(min_degree、max_degree),默認值=2

如果給出單個int,它指定多項式特征的最大次數。如果傳遞了一個元組(min_degree, max_degree),那麽min_degree是最小的,max_degree是生成特征的最大多項式次數。請注意,min_degree=0min_degree=1 是等效的,因為輸出零度項由 include_bias 確定。

interaction_only布爾,默認=假

如果True, 隻產生交互特征:最多是產品的特征degree 清楚的輸入特征,即相同輸入特征的 2 或更高次冪的項被排除在外:

  • 包括:x[0]x[1]x[0] * x[1]等。

  • 排除:x[0] ** 2x[0] ** 2 * x[1]等。

include_bias布爾,默認=真

如果True(默認),則包括一個偏置列,其中所有多項式冪為零的特征(即一列一 - 充當線性模型中的截距項)。

order{‘C’,‘F’},默認=‘C’

密集情況下的輸出數組的順序。 'F' order 的計算速度更快,但可能會減慢後續估算器的速度。

屬性

powers_ndarray 形狀(n_output_features_n_features_in_)

輸出中每個輸入的 index 。

n_input_features_int

已棄用:屬性 n_input_features_ 在版本 1.0 中已棄用,並將在 1.2 中刪除。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

n_output_features_int

多項式輸出特征的總數。輸出特征的數量是通過迭代所有適當大小的輸入特征組合來計算的。

注意

請注意,輸出數組中的特征數量在輸入數組的特征數量上呈多項式縮放,並且在度數上呈 index 增長。高度數會導致過擬合。

參看例子/linear_model/plot_polynomial_interpolation.py

例子

>>> import numpy as np
>>> from sklearn.preprocessing import PolynomialFeatures
>>> 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.]])

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.preprocessing.PolynomialFeatures。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。