当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。