Я пытаюсь вычислить максимальное среднее расхождение между двумя наборами данных, X, Y
, где записи X, Y
имеют тип numpy.float64
. Часть этого вычисления включает вычисление всех попарно произведенных точек между X and X
с использованием некоторой функции ядра. В этом случае я хочу использовать sklearn.metrics.pairwise.rbf_kernel
из sklearn
. Используя Jupyter, следующий код заставляет ядро Python 3 d ie через ~ 30 секунд, а затем предлагает мне перезапустить его (я показываю два разных метода, которые заставляют ядро d ie):
import sklearn as sklearn
from sklearn.metrics.pairwise import pairwise_kernels
def mmd(X, Y):
# X.shape -> (922315, 14)
# type(X) -> <class 'numpy.ndarray'>
# Kernel dies here
Kxx = sklearn.metrics.pairwise.rbf_kernel(X, X)
# Kernel also dies using this
Kxx = pairwise_kernels(X, X, metric='rbf')
.
.
.
Является ли X
слишком большим, чтобы выполнить это вычисление? Если так, как я могу обойти это? Поскольку я использую Anaconda в качестве менеджера пакетов, я запустил conda update --all
на случай, если это было вызвано ошибкой, но это не помогло решить проблему.