0
首先,爲我的問題的小祕密標題道歉。讓我試着解釋我的需求: - 我正在從CSV文件中讀取兩個功能,即X1,X2。我在包含1000條記錄的csv文件中有一組訓練數據,每行對應於X1,X2的值。爲了讓我的訓練集更適合我的機器學習代碼,我想要進行特徵映射,它將採用X1,X2並創建4的冪次的多項式項,例如,如果X1 = a,X2 = b,我想添加更新的特徵a^2,a * b,b^2,a^3,a^2 * b,a * b^2,a^4 ...等等。 現在,如果我讀它們作爲numpy的矩陣,我希望看到這樣的數據:首先根據多項式的程度將列添加到一個numpy矩陣
[ [ 1 a b a^2 a*b, b^2 a^3 a^2*b......]
[.... ............ ............ ]
[ ..
..] ]
注意的行數是固定的,但是列數受所選擇的程度來確定。此外前三列必須
[[1 a b ..]
[1 c d ..]
..
..]
的僞代碼我想到的是: -
def poly(X): # where X is a numpy matrix with X1, X2 columns,
degree = 4;
r= X.shape[0]
c=1 # number of columns
val_matrix= np.ones(shape=(r,c)) # creating a (r,1) matrix init with 1s
# *start of psuedo code*
while i<=degree:
while j <=i:
val_matrix[:, c+1] = (X1.^(i-j)).*(X2.^j)
我不知道如何讓蟒蛇這個工作?會感激一些建議。請注意^指的是權力。
感謝保羅類似。這暴露了我的弱點在numpy。讓我試試看,回到你身邊。欣賞它。 – sunny
謝謝,它工作。你也暴露給我np.mgrid.that是有幫助的。 – sunny