Вычисление вектора на основе сходства с разными весамиPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Вычисление вектора на основе сходства с разными весами

Сообщение Гость »


Я пытаюсь вычислить, чем один вектор отличается от набора векторов. И я использовал косинусное сходство, но в моей задаче не все входы имеют одинаковый вес, поэтому я хочу использовать алгоритм или метод, чтобы учесть, что некоторые записи имеют больший вес, чем другие. Можете ли вы помочь мне определиться с некоторыми алгоритмами или процедурами, которые я могу использовать? Это мой код на случай, если он вам понадобится
импортировать numpy как np из sklearn.metrics.pairwise импортировать cosine_similarity # Предложенный вектор пропуесто = np.array([20, 85, 10, 10]) # Векторный набор вектор_b1 = np.array([31, 83, 22, 88.5]) вектор_b2 = np.array([25.4, 114.07, 18.2, 346.68]) вектор_b3 = np.array([26.9, 85, 20.9, 123.87]) вектор_b4 = np.array([25.7, 87.6, 20.96, 458.8]) вектор_b5 = np.array([28.6, 71.4, 28.9, 690.5]) вектор_b6 = np.array([30.2, 148.9, 26.33, 317.58]) вектор_b7 = np.array([25.1, 87.8, 0, 0]) вектор_b8 = np.array([32.4, 158.9, 23.33, 160.14]) вектор_b9 = np.array([23, 89.4, 17.99, 561]) вектор_b10 = np.array([16.64, 36.7, 27.8, 526]) вектор_b11 = np.array([40, 85, 10, 10]) # Векторы в матрице matriz_b = np.array([vector_b1, вектор_b2, вектор_b3, вектор_b4, вектор_b5, вектор_b6, вектор_b7, вектор_b8, вектор_b9, вектор_b10, вектор_b11]) # Нормализовать вектор вектор_а_норм = пропуесто / np.linalg.norm(пропуесто) # Нормализовать матрицу matriz_b_norm = matriz_b / np.linalg.norm(matriz_b, axis=1, Keepdims=True) # Косинусное сходство подобия = cosine_similarity([vector_a_norm], matriz_b_norm) # Сходства для i, сходство в перечислении(сходства[0]): print(f"Сходство с вектором B{i + 1}: {сходство:.4f}") ```
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»