«корреляционная матрица» с другой функцией - PullRequest
0 голосов
/ 18 октября 2019

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

, начиная с этого:

X = array([[1, 1, 1],
          [2, 2, 2],
          [3, 3, 3]])

в форме: (n_samples, n_features) ипревратите его в нечто вроде этого:

array([[f(X[0],X[0]),f(X[0],X[1]),f(X[0],X[2])],
       [f(X[1],X[0]), f(X[1],X[1]),f(X[1],X[2])],
       [f(X[2],X[0]), f(X[2],X[1]),f(X[2],X[2])]])

спасибо!

, то есть, по сути, все сэмплы, переданные в функцию с помощью eachother

, так что я в настоящее время решаю это свложенный цикл:

for i in range(samples):
    for j in range(samples):
        r = test_kernel(X[i],X[j])
        output[i,j] = r

но я сомневаюсь, что это самый эффективный способ сделать это, так как матрица симметрична, мне нужно выполнить несколько вычислений дважды

1 Ответ

0 голосов
/ 18 октября 2019

массив ([[f (X [i], X [j]) для i в диапазоне (len (X))] для j в диапазоне (len (X))])?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...