我正在尝试计算欧几里得距离的向量化实现(使用内积计算X和Y中每个元素之间的距离)。数据如下:
X = np.random.uniform(low=0, high=1, size=(10000, 5))
Y = np.random.uniform(low=0, high=1, size=(10000, 5))
我所做的是:
euclidean_distances_vectorized = np.array(np.sqrt(np.sum(X**2, axis=1) - 2 * np.dot(X, Y.T) + np.sum(Y**2, axis=1)))
尽管这会输出“一些内容”,但答案是错误的,因为每行仍然包含5个元素。有人知道我做错了什么吗?
scipy.spatial.distance_matrix
? - hilberts_drinking_problemscipy
有一个函数可以以向量化的方式计算两个数组之间的成对欧几里得距离。 - hilberts_drinking_problem