Я бы хотел вычислить матрицу ядра в python как можно быстрее: входные данные представляют собой матрицу X = nsamples, nfeatues, а выходные данные должны представлять собой симметричную матрицу D = nsamples, nsapmles
метод, который я использую сейчас, хотя он основан на итераторах, кажется, очень медленно делать цикл for ... кто-нибудь может придумать что-нибудь лучше?
Спасибо
мой методпока что это:
from itertools import combinations
def computeKernel(X,dlambda):
nsamples=X.shape[0]
D=numpy.zeros((nsamples,nsamples))
for el in combinations(range(nsamples),2):
i,j=el
D[el]=quadraticChiDist(X[i,:],X[j,:])
D=D+D.T
D=numpy.exp(-dlambda*D/255)
D=numpy.eye(D)+D
return D
, где quadraticChiDist - это функция, которая вычисляется для каждой возможной пары строк в X