numpy中的多項式函式API

2021-09-23 20:23:18 字數 1529 閱讀 7478

sklearn中內建了乙個將一次項x轉換成高次項的api,即將簡單的y=k1x1 + …轉換成立高次項y=k1x+k2x**2 +…的擬合。具體方法參照numpy中的polynomialfeatures。這個類有三個引數:

1、degree:控制多項式的次數,預設為

2、interaction_only:預設為false,如果改為true,那麼就不會有特徵和自己結合的項

3、include_bias:預設為true。如果為true的話,那麼結果中就會有0次冪項,即全為1這一列,一般我們用false

現講解具體實現**

from sklearn.preprocessing import polynomialfeatures

import numpy as np

x = np.arange(8).reshape(4, 2)

print(x)

poly = polynomialfeatures(degree=3, include_bias=false, interaction_only=false)

x = poly.fit_transform(x)

print(x)

print(poly.powers_) # 輸出轉換後每個特徵來自原來的特徵的冪的乘積

print(poly.n_input_features_) # 輸入幾個特徵

print(poly.n_output_features_) # 轉換為幾個特徵

polynomianlfeatures可以與pipeline,standardscaler,訓練模型一塊使用。

from sklearn.preprocessing import polynomialfeatures

from sklearn.pipeline import pipeline

from sklearn.linear_model import linearregression

from sklearn.preprocessing import standardscaler

import numpy as np

seed = 1

x = np.arange(8).reshape(4, 2).astype(np.float)

x += np.random.rand(4,2)*0.02

weitht = np.array([1.2, 3.4]).reshape(-1, 1)

y = np.dot(x, weitht)

lr = pipeline([('ss', standardscaler()),

('poly', polynomialfeatures(degree=2, include_bias=false, interaction_only=true)),

('lr', linearregression())

])lr.fit(x, y)

print(y)

#print(lr.coef) # 暫不知道如何輸出權重,待解決。。。

Numpy中的多項式表示及擬合

官方文件的解釋 一維多項式類,用於封裝多項式上的 自然 運算,以便所述運算可以採用 中的慣用形式。引數解釋 c or r array like 多項式的係數,按照冪的降序排列。如果第二個引數為 true 則表示多項式的根。比如 poly1d 1,2,3 返回的物件表示 math x 2 2x 3 而...

多項式中步

因為快要wc了所以學一下多項式全家桶,不過國賽大概率是不會考這麼難的 因為比初步難所以叫多項式中步 然而好像並不會有多項式高步 只是介紹一下符號和概念 假設 f x 是乙個多項式 x i f x 表示 f x 的第i項 也就是 x 的係數為 i 的那一項 f x mod x n 相當於是將次數大於等...

多項式的實現

在實現上述鍊錶之後,我們自己動手完成乙個習題,就是利用鍊錶實現多項式的相加,這個就比較簡單,這裡可要自己動手寫,我也是完全自己寫的。include using namespace std typedef struct lnode lnode,linklist void initexpn linkli...