繁体   English   中英

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

[英]add new elements to existing cosine similarity matrix

我用 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

但是每天,我都有新的东西。 有没有办法在不计算所有项目的情况下用新项目更新现有矩阵?

您只能计算新添加的矢量与已存在的矢量的相似性,使用余弦距离对称并将其连接到前一个矩阵的事实:

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

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

根据文档

sklearn.metrics.pairwise.cosine_similarity(X, Y=None, dense_output=True)

计算 X 和 Y 中样本之间的余弦相似度。

这意味着您每天都可以针对已经具有余弦相似度的现有X计算Y新数据,然后合并结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM