【发布时间】:2020-05-05 11:53:43
【问题描述】:
我有一个像这样的 numpy 二维数组:
[[1, 2], [3, 4]]
还有一个像这样的单独向量:
[5, 6].
本例中的操作是np.inner,这是我更大任务的一部分,即获取二维数组的每一行与单独向量之间的余弦相似度。
我的预期输出是[np.inner([1, 2], [5, 6]), np.inner([3, 4], [5, 6]]。我可以使用apply_along_axis 完成此操作,但有什么方法可以矢量化此操作并使其比apply_along_axis 更高效?
关于如何在两个二维数组的行对之间向量化这些类型的操作,有很多已回答的问题,但在这种情况下,我需要向量化一个二维数组和另一个向量之间的操作。我可以将[5, 6] 转换为[[5, 6], [5, 6]],然后以这种方式进行矢量化,但是在大规模情况下,我需要一个解决方案,我可以在操作中使用另一个矢量本身,而不是将其变成带有一堆行的二维数组副本。
【问题讨论】:
标签: python numpy scipy vectorization cosine-similarity