Вычислить условия взаимодействия для массива numpy - PullRequest
0 голосов
/ 27 октября 2018

Я хочу вычислить условия взаимодействия для массива 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))

Как я могу заполнить матрицу терминами взаимодействия наиболее эффективным способом?

...