добавить новые элементы в существующую матрицу сходства косинусов - PullRequest
0 голосов
/ 02 апреля 2019

Я вычислил матрицу сходства косинусов с косинусом сходства из sklearn.metrics.pairwise.

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 голосов
/ 02 апреля 2019

Вы можете вычислить только сходство вновь добавленных векторов с уже существующими, использовать тот факт, что косинусное расстояние симметрично, и объединить его с предыдущей матрицей:

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

, где * s - исходная матрица подобия, XXXX - вновь вычисленный вектор подобия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...