【发布时间】:2018-10-02 20:31:56
【问题描述】:
我有一个形状为 (m, n, 300) 的 3D numpy 数组 A 和一个形状为 (p, 300) 的 2D numpy 数组 B。
对于 3D 数组中的每个 m (n, 300) 个矩阵,我想用 2D numpy 数组计算其余弦相似度矩阵。目前,我正在执行以下操作:
result = []
for sub_matrix in A:
result.append(sklearn.metrics.pairwise.cosine_similarity(sub_matrix, B)
sklearn cosine_similarity 函数不支持对 3D 数组的运算,那么有没有更有效的计算方法而不涉及使用 for 循环?
【问题讨论】:
-
等一下,结果中你想要多少个输出。你能想出一个MCVE吗?如果你知道你在做什么,你可以绕过 sklearn 并自己实现它。
标签: python numpy scikit-learn similarity cosine-similarity