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