【发布时间】:2017-12-01 22:19:31
【问题描述】:
我想使用 sklearn 的余弦距离公式计算一个 NxN 相似度矩阵。我的问题是我的矩阵非常非常大。它有大约1000个条目。我目前的方法非常慢,我需要真正的加速。谁能帮我加快代码速度?
for i in similarity_matrix.columns:
for j in similarity_matrix.columns:
if i == j:
similarity_matrix.ix[i,j] = 0
else:
similarity_matrix.ix[i,j] = cosine(documents[int(i)], documents[int(j)])
奖励任务:另外我想使用加权余弦公式。但是在sklearn中好像没有实现?这是真的吗?
【问题讨论】:
-
你试过 Scipy cdist吗?
-
不,谢谢,我会检查手册
-
你也可以尝试在 Pandas 中使用
pivot_table:pandas.pydata.org/pandas-docs/stable/generated/… -
数据透视表也可以很好地工作
标签: python performance loops pandas