gpt4 book ai didi

python - 无法理解 sklearn 的 PolynomialFeatures

转载 作者:太空狗 更新时间:2023-10-29 22:03:58 24 4
gpt4 key购买 nike

在 sklearn 的多项式特征方面需要帮助。它适用于一个功能,但每当我添加多个功能时,它还会在数组中输出一些值,除了提升到度数的值之外。例如:对于这个数组,

X=np.array([[230.1,37.8,69.2]])

当我尝试

X_poly=poly.fit_transform(X)

输出

[[ 1.00000000e+00 2.30100000e+02 3.78000000e+01 6.92000000e+01
5.29460100e+04 8.69778000e+03 1.59229200e+04 1.42884000e+03
2.61576000e+03 4.78864000e+03]]

在这里,8.69778000e+03,1.59229200e+04,2.61576000e+03 是什么?

最佳答案

如果你有特征[a, b, c]默认的多项式特征(在sklearn中度数是2)应该是[1, a, b, c, a^2, b^2, c^2, ab, bc, ca]

2.61576000e+0337.8x62.2=2615,76(2615,76 = 2.61576000 x 10^3)

您可以使用 PolynomialFeatures 以简单的方式创建新功能。有很好的引用here .当然,使用 PolynomialFeatures(参见 here)也有缺点(“过度拟合”)。

编辑:
使用多项式特征时我们必须小心。计算多项式特征个数的公式为 N(n,d)=C(n+d,d) 其中 n 为特征个数,d是多项式的次数,C是二项式系数(组合)。在我们的例子中,数字是 C(3+2,2)=5!/(5-2)!2!=10 但当特征数或度数为高度时,多项式特征变为太多。例如:

N(100,2)=5151
N(100,5)=96560646

因此在这种情况下,您可能需要应用正则化 来惩罚某些权重。该算法很可能会开始遭受 curse of dimensionality 的困扰。 (here 也是一个很好的讨论)。

关于python - 无法理解 sklearn 的 PolynomialFeatures,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51906274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com