python實現PolynomialFeatures多項式的方法
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是下面這樣:
我們發現規律如下:
編寫實現函數如下:
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多項式內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: