Для определения сходства между многомерными векторами можно использовать различные методы, включая косинусное сходство. В Python для работы с векторами можно использовать библиотеку NumPy, которая предоставляет функции для создания векторов, операций над ними, вычисления нормы и расстояния между векторами, а также скалярного произведения и угла между векторами
Для вычисления косинусного сходства между двумя векторами можно воспользоваться функцией cosine_similarity из библиотеки sklearn.metrics.pairwise. Эта функция вычисляет косинус угла между двумя векторами и возвращает значение от -1 до 1, где 1 означает полное сходство, а -1 – полное несходство
Пример кода для вычисления косинусного сходства между двумя векторами:
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
# первый вектор
vector1 = np.array([1, 5])
# второй вектор
vector2 = np.array([5, 1])
# вычисляем косинусное сходство
similarity = cosine_similarity([vector1, vector2])
print(similarity)
Результат:
[[1. 0.38461538]
[0.38461538 1. ]]
Для вычисления косинусного сходства между многомерными векторами можно использовать ту же функцию, передавая ей массив из нескольких векторов
Пример кода для вычисления косинусного сходства между двумя многомерными векторами:
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
# первый вектор
vector1 = np.array([1, 5, 5])
# второй вектор
vector2 = np.array([1, 5, 9])
# вычисляем косинусное сходство
similarity = cosine_similarity([vector1, vector2])
print(similarity)
Результат выполнения:
[[1. 0.96112832]
[0.96112832 1. ]]
В результате выполнения кода будет выведено значение косинусного сходства между векторами.
Чтобы не было ошибок нужно установить:
pip install -U scikit-learn
pip install -U numpy
второй вектор = 5, 1
ИЛИ
первый вектор = 1, 5, 5
второй вектор = 1, 5, 9
например косинусное сходство и др