相关疑难解决方法(0)

在稀疏矩阵数据的情况下,Python中最快的计算余弦相似度的方法是什么?

给定稀疏矩阵列表,计算矩阵中每列(或行)之间的余弦相似度的最佳方法是什么?我宁愿不迭代n次选择两次.

说输入矩阵是:

A= 
[0 1 0 0 1
 0 0 1 1 1
 1 1 0 1 0]
Run Code Online (Sandbox Code Playgroud)

稀疏表示是:

A = 
0, 1
0, 4
1, 2
1, 3
1, 4
2, 0
2, 1
2, 3
Run Code Online (Sandbox Code Playgroud)

在Python中,使用矩阵输入格式很简单:

import numpy as np
from sklearn.metrics import pairwise_distances
from scipy.spatial.distance import cosine

A = np.array(
[[0, 1, 0, 0, 1],
[0, 0, 1, 1, 1],
[1, 1, 0, 1, 0]])

dist_out = 1-pairwise_distances(A, metric="cosine")
dist_out
Run Code Online (Sandbox Code Playgroud)

得到:

array([[ 1.        ,  0.40824829,  0.40824829],
       [ …
Run Code Online (Sandbox Code Playgroud)

python numpy similarity pandas cosine-similarity

52
推荐指数
4
解决办法
8万
查看次数

标签 统计

cosine-similarity ×1

numpy ×1

pandas ×1

python ×1

similarity ×1