機器學習 特徵工程 多項式拓展

2021-09-25 23:09:12 字數 1033 閱讀 8795

庫:sklearn.preprocessing.polynomialfeatures

1、polynomialfeatures內部引數:

degree:控制多項式的度

interaction_only: 預設為false,如果指定為true,那麼就不會有特徵自己和自己結合的項,以ab兩項為例的話,拓展出的項就沒有a^2和b^2。

include_bias:預設為true。如果為true的話,前邊有一列全為1的偏置項

2、**實現
import pandas as pd

a = pd.dataframe([[1,2,3],

[4,5,6],

[1,8,9]],columns = ["feature_1", "feature_2", "label"])

#導庫from sklearn.preprocessing import polynomialfeatures

#最高次項為2 有一列為1的偏置項 有自己與自己相乘

polycoder = polynomialfeatures(degree=2, include_bias=true, interaction_only=false)

df = polycoder.fit_transform(a)

print(pd.dataframe(df, columns=polycoder.get_feature_names()))

結果展示

1   x0   x1   x2  x0^2  x0 x1  x0 x2  x1^2  x1 x2  x2^2

0 1.0 1.0 2.0 3.0 1.0 2.0 3.0 4.0 6.0 9.0

1 1.0 4.0 5.0 6.0 16.0 20.0 24.0 25.0 30.0 36.0

2 1.0 1.0 8.0 9.0 1.0 8.0 9.0 64.0 72.0 81.0

多項式特徵

在使用單項式特徵的時候,模型函式的型式是y a x b y c z d y a x b y c z d y a x b y c z d,但我們還可以加入多項式作為新的特徵,例如二項式增加以下特徵 x 在網路搜尋中使用 from sklearn.pipeline import pipeline fro...

學習筆記 求矩陣的特徵多項式

先膜拜一波神仙yww 給定乙個矩陣 沒有任何特殊性質 如何求它的特徵多項式?直接把 lambda 代入 n 1 個點值,求完行列式之後插值即可。時間複雜度 o n 4 下面介紹乙個更快的做法。定義對於矩陣 bm a,bm b 若存在可逆矩陣 bm phi 滿足 bm a bm phi bm b bm...

機器學習筆記 多項式回歸

比如你的資料分布,是符合y 0.5 x 2 x 2的.那你用y ax b去擬合,無論如何都沒法取的很好的效果.通過上面的分析,我們可以看出,我們想做的事情是對樣本做公升維 即增加樣本的特徵數目 sklean中完成這一功能的類叫做polynomialfeatures.classsklearn.prep...