首页 > 编程开发 > Python    日期:2021-01-07 / 来自互联网 / 浏览

sklearn生成多项式

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

python实现PolynomialFeatures多项式的方法

x是下面这样:

python实现PolynomialFeatures多项式的方法

我们发现规律如下:

python实现PolynomialFeatures多项式的方法

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 c

multi_feature(x,3)

python实现PolynomialFeatures多项式的方法

和上面实现的一模一样

print('n=4时,sklearn的输出是:')
reg = PolynomialFeatures(degree=4) 
print(reg.fit_transform(x))
print('\n')

#对比
print('n=4时,函数的输出是:')
print(multi_feature(x,4))

python实现PolynomialFeatures多项式的方法

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

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

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章

1 2 3 4 5