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)
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 c multi_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多項式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 人工智能-Python實現多項式回歸
- Python NumPy教程之數組的創建詳解
- python pipeline的用法及避坑點
- 人工智能-Python實現嶺回歸
- 回歸預測分析python數據化運營線性回歸總結