python實(shí)現(xiàn)PolynomialFeatures多項(xiàng)式的方法
sklearn生成多項(xiàng)式
import numpy as np from sklearn.preprocessing import PolynomialFeatures #這哥用于生成多項(xiàng)式 x=np.arange(6).reshape(3,2) #生成三行二列數(shù)組 reg = PolynomialFeatures(degree=3) #這個(gè)3看下面的解釋 reg.fit_transform(x)

x是下面這樣:

我們發(fā)現(xiàn)規(guī)律如下:

Python生成多項(xiàng)式
編寫實(shí)現(xiàn)函數(shù)如下:
def multi_feature(x,n):
c = np.empty((x.shape[0],0)) #np.empty((3,1))并不會(huì)生成一個(gè)3行1列的空數(shù)組,np.empty((3,0))才會(huì)生成3行1列空數(shù)組
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)

和上面實(shí)現(xiàn)的一模一樣
print('n=4時(shí),sklearn的輸出是:')
reg = PolynomialFeatures(degree=4)
print(reg.fit_transform(x))
print('\n')
#對比
print('n=4時(shí),函數(shù)的輸出是:')
print(multi_feature(x,4))

也是一樣的,當(dāng)然這個(gè)函數(shù)僅適用于2維數(shù)組,如果是n維數(shù)組,又該怎么實(shí)現(xiàn)呢?
到此這篇關(guān)于python實(shí)現(xiàn)PolynomialFeatures多項(xiàng)式的方法的文章就介紹到這了,更多相關(guān)python PolynomialFeatures多項(xiàng)式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python算法學(xué)習(xí)雙曲嵌入論文代碼實(shí)現(xiàn)數(shù)據(jù)集介紹
由于雙曲嵌入相關(guān)的文章已經(jīng)有了一系列的代碼。本篇博客主要目的實(shí)現(xiàn)最開始的雙曲嵌入論文,將論文中有些直接寫出來的內(nèi)容進(jìn)行了細(xì)節(jié)的推導(dǎo),同時(shí)實(shí)現(xiàn)對應(yīng)的代碼2021-11-11
python GUI庫圖形界面開發(fā)之PyQt5信號與槽多窗口數(shù)據(jù)傳遞詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5信號與槽多窗口數(shù)據(jù)傳遞詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-03-03
SELENIUM自動(dòng)化模擬鍵盤快捷鍵操作實(shí)現(xiàn)解析
這篇文章主要介紹了SELENIUM自動(dòng)化模擬鍵盤快捷鍵操作實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
python使用pip成功導(dǎo)入庫后還是報(bào)錯(cuò)的解決方法(針對vscode)
最近在學(xué)爬蟲,但在使用Scrapy包時(shí),在終端通過pip裝好包以后,在pycharm中導(dǎo)入包時(shí),依然會(huì)報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于python使用pip成功導(dǎo)入庫后還是報(bào)錯(cuò)的解決方法,需要的朋友可以參考下2022-07-07
python實(shí)現(xiàn)超時(shí)退出的三種方式總結(jié)
這篇文章主要介紹了python實(shí)現(xiàn)超時(shí)退出的三種方式總結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

