利用python怎么实现一个PolynomialFeatures多项式功能

本篇文章给大家分享的是有关利用python怎么实现一个PolynomialFeatures多项式功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

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多项式功能

以上就是利用python怎么实现一个PolynomialFeatures多项式功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。