Python: Как эффективно получить матрицу сходства косинусов

Есть 2 массива, содержащих 30000 векторов и 50000 векторов соответственно.

Item_array = [item1,item2,...,item30000]
User_array = [user1,user2,...,user50000]

Каждый вектор в массиве является значением tfidf с использованием Gensim.

Например:

Item_array[0] = [(0, 0.03663947221807151),(2, 0.09781584692664856),(10, 0.07212302141012294)]

Я пытаюсь создать матрицу элементов пользователя для сортировки похожих элементов каждого пользователя. Метод "цикл" стоил мне много времени, чтобы закончить его.

Как я должен справиться с этим эффективно. Любая помощь должна быть заметной..

Это мой ожидаемый результат:

           user1 user2 user3 ... user50000
item1      0.35  0.45  0.86        0.46
item2      0.42  0.32  0.53        0.53          
item3      0.65  0.33  0.45        0.46        
...        ...   ...   ...         ... 
item50000  0.54  0.33  0.00        1.00

0 ответов

Другие вопросы по тегам