我想为任意长度的numpy
数组x
计算交互项,这样输入类似
a = np.array([(1,2),(2,4),(1,3)])
b = build_interactions(a)
产生类似
的东西b
array([[1, 2],
[2, 4],
[1, 3],
[2, 8],
[1, 6],
[2, 12]])
我知道可以使用sklearn.preprocessing.PolynomialFeatures()
完成此操作,但是,我想计算这些项而无需附加软件包。到目前为止,我已经
def build_interactions(x):
m, n = x.shape
interactions = np.ones((m, n*(n+1)//2))
如何以最有效的方式用交互项填充矩阵?