向现有余弦相似度矩阵添加新元素

时间:2019-04-02 10:23:22

标签: python cosine-similarity cosine

我从sklearn.metrics.pairwise计算出了具有cosine_similarity的余弦相似度矩阵。

Matrix:
       2414514  413915  419480  473104  534621  609406    654913    654914  \
2414514  1.000000     0.0     0.0     0.0     0.0     0.0  0.755929  0.755929
413915   0.000000     1.0     0.0     0.0     0.0     1.0  0.000000  0.000000
419480   0.000000     0.0     1.0     1.0     1.0     0.0  0.000000  0.000000
473104   0.000000     0.0     1.0     1.0     1.0     0.0  0.000000  0.000000
534621   0.000000     0.0     1.0     1.0     1.0     0.0  0.000000  0.000000
609406   0.000000     1.0     0.0     0.0     0.0     1.0  0.000000  0.000000
654913   0.755929     0.0     0.0     0.0     0.0     0.0  1.000000  1.000000
654914   0.755929     0.0     0.0     0.0     0.0     0.0  1.000000  1.000000
668130   0.000000     0.0     0.0     0.0     0.0     0.0  0.000000  0.000000
668743   0.000000     0.0     0.0     0.0     0.0     0.0  0.000000  0.000000
679691   0.000000     0.0     0.0     0.0     0.0     0.0  0.000000  0.000000
707669   0.000000     0.0     0.0     0.0     0.0     0.0  0.000000  0.000000
749049   0.000000     1.0     0.0     0.0     0.0     1.0  0.000000  0.000000
770946   0.000000     0.0     0.0     0.0     0.0     0.0  0.000000  0.000000

         668130  668743  679691  707669  749049  770946
2414514     0.0     0.0     0.0     0.0     0.0     0.0
413915      0.0     0.0     0.0     0.0     1.0     0.0
419480      0.0     0.0     0.0     0.0     0.0     0.0
473104      0.0     0.0     0.0     0.0     0.0     0.0
534621      0.0     0.0     0.0     0.0     0.0     0.0
609406      0.0     0.0     0.0     0.0     1.0     0.0
654913      0.0     0.0     0.0     0.0     0.0     0.0
654914      0.0     0.0     0.0     0.0     0.0     0.0
668130      1.0     1.0     0.0     1.0     0.0     0.0
668743      1.0     1.0     0.0     1.0     0.0     0.0
679691      0.0     0.0     1.0     0.0     0.0     1.0
707669      1.0     1.0     0.0     1.0     0.0     0.0
749049      0.0     0.0     0.0     0.0     1.0     0.0
770946      0.0     0.0     1.0     0.0     0.0     1.0

但是每天我都有新物品。有没有一种方法可以用新项目更新现有矩阵而无需计算所有项目?

1 个答案:

答案 0 :(得分:0)

您只能计算新添加的向量与已经存在的向量的相似度,利用余弦距离是对称的事实并将其连接到先前的矩阵:

****X
****X
****X
****X
XXXX0

其中*是原始相似度矩阵,XXXX是新计算的相似度向量。