Вычислить расстояния в алгоритме Kmeans Lloyds - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь вычислить расстояние между каждой точкой матрицы X (форма N, D) и матрицы mu (форма K, D), используя numpy:

np.array([[np.linalg.norm(x - m) for m in mu] for x in X])

Это очень медленно. Есть ли более быстрый способ получить тот же результат?

1 Ответ

0 голосов
/ 31 января 2020

Мы можем расширить размеры одной матрицы до третьего измерения, а затем вычислить расстояние:

np.linalg.norm(X - mu[:,None], axis=-1, ord=2).T
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...