使用numpy / python从零开始的多项式展开

问题描述 投票:0回答:1

我在不使用Sklearn的情况下建立多项式回归。我现在无法使用功能的多项式扩展。

我有一个带有A和B列的数据框。当我从Sklearn导入并运行PolynomialFeatures(2级)时,我发现它返回6个不同的特征。

我知道2个要素变成6个要素,因为它是(A + B +常数)*(A + B +常数)

即为A2 + 2AB + 2AC + 2BC + B2 + C2,共有6种不同的功能。我正在尝试使用Python和Numpy对此进行概括。

由于存在常数c,所以我在数据框中创建了一个新列C。但是,我对如何进行此操作非常执着。我尝试进行(特征数*度数)次循环,但对特征的组合感到困惑。

'''

    def polynomial_expansion(features_df, order):

        return expanded_df

'''

有人可以帮我吗?在这种情况下,我可以使用什么Python / Numpy / Pandas方法?谢谢。

python pandas numpy regression polynomials
1个回答
0
投票

Numpy具有称为polymul的功能。要使用此功能,只需将多项式指定为元组,如下所示:

poly1=(1,2,3) # for 1*x^0 + 2*x^1 + 3*x^2

from numpy.polynomial import polynomial as P
result = P.polymul(poly1,poly1)
© www.soinside.com 2019 - 2024. All rights reserved.