我之前用过 sklearn 的 cosine_similarity 函数,它接收一个矩阵并返回一个矩阵,其中 m[i,j]
表示元素 i 与元素 j 的相似度。我需要计算单个向量与矩阵中每一行的余弦相似度。有没有简单的方法来做到这一点?
我想要的输出是一个向量,其中每个元素 i 表示向量和矩阵行 i 之间的相似性。
对于其他上下文,我的矩阵有超过 400 万行,因此当我尝试 cosine_similarity(matrix)
时返回的错误是 MemoryError: Unable to allocate 173. TiB for an array with shape (4872569, 4872569) and data type float64
。