TGViewer
Математика Дата саентиста Математика Дата саентиста @data_math · 14.3K subscribers
Post #85 2.93K
🧮Расчет косинусного сходства в Python

Косинусное сходство — это мера сходства между двумя векторами пространства внутреннего произведения.
Для двух векторов, A и B, косинусное сходство вычисляется как:

Подобие косинуса = ΣA i B i / (√ΣA i 2 √ΣB i 2 )

Объясним как вычислить косинусное сходство между векторами в Python с использованием функций из библиотеки NumPy.

Косинусное сходство между двумя векторами в Python

Данный код показывает, как вычислить косинусное сходство между двумя массивами в Python:
from numpy import dot
from numpy. linalg import norm

#define arrays
a = [23, 34, 44, 45, 42, 27, 33, 34]
b = [17, 18, 22, 26, 26, 29, 31, 30]

#calculate Cosine Similarity
cos_sim = dot (a, b)/( norm (a)\* norm (b))

cos_sim

0.965195008357566


Косинусное сходство между двумя массивами оказывается равным 0,965195 .

▪Обратите внимание, что этот метод будет работать с двумя массивами любой длины:
import numpy as np
from numpy import dot
from numpy. linalg import norm

#define arrays
a = np.random.randint(10, size= 100 )
b = np.random.randint(10, size= 100 )

#calculate Cosine Similarity
cos_sim = dot (a, b)/( norm (a)\* norm (b))

cos_sim

0.7340201613960431


▪Однако это работает только в том случае, если два массива имеют одинаковую длину:
import numpy as np
from numpy import dot
from numpy. linalg import norm

#define arrays
a = np.random.randint(10, size= 90 ) #length=90
b = np.random.randint(10, size= 100 ) #length=100

#calculate Cosine Similarity
cos_sim = dot (a, b)/( norm (a)\* norm (b))

cos_sim

ValueError : shapes (90,) and (100,) not aligned: 90 (dim 0) != 100 (dim 0)


@data_math
  • 👍 6
  • 🔥 6
  • ❤ 2
More from @data_math
  1. Oct 2, 2026🌌 Почему две планеты - это красиво, а три - уже хаос В ньютоновской гравитации задача дву…
  2. Sep 29, 2026⚡️ GPT-6 Astra помогла найти контрпримеры к гипотезе о плазме, которой почти 60 лет. В тер…
  3. Sep 29, 2026Яндекс выложил в опенсорс AliceAI-Foundation-80B-A3B-Base — модель, обученную с нуля. Архи…
  4. Sep 28, 2026🧠 Джон Маккарти - человек, который дал имя искусственному интеллекту John McCarthy (1927–…
  5. Sep 28, 2026Как сегодня строят рекомендательные системы — и что будет с ними завтра? 30 сентября собир…
  6. Sep 26, 2026🎂 В комнате всего 35 человек и шанс совпадения дней рождения уже больше 80% Если случайно…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →