python实现PolynomialFeatures多项式的方法

时间:2021-05-23

sklearn生成多项式

import numpy as npfrom sklearn.preprocessing import PolynomialFeatures #这哥用于生成多项式x=np.arange(6).reshape(3,2) #生成三行二列数组reg = PolynomialFeatures(degree=3) #这个3看下面的解释reg.fit_transform(x)


x是下面这样:


我们发现规律如下:

Python生成多项式

编写实现函数如下:

def multi_feature(x,n): c = np.empty((x.shape[0],0)) #np.empty((3,1))并不会生成一个3行1列的空数组,np.empty((3,0))才会生成3行1列空数组 for i in range(n+1): for m in range(i,-1,-1): h=(x[:,0]**m) * (x[:,1]**(i-m)) c=np.c_[c,h] return cmulti_feature(x,3)


和上面实现的一模一样

print('n=4时,sklearn的输出是:')reg = PolynomialFeatures(degree=4) print(reg.fit_transform(x))print('\n')#对比print('n=4时,函数的输出是:')print(multi_feature(x,4))


也是一样的,当然这个函数仅适用于2维数组,如果是n维数组,又该怎么实现呢?

到此这篇关于python实现PolynomialFeatures多项式的方法的文章就介绍到这了,更多相关python PolynomialFeatures多项式内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章