Pythonでコサイン類似度を計算する

コサイン類似度は各ベクトルの大きさの違いが無視できる場合に有効な評価方法である。2つのベクトルの内積

\begin{align}
A \cdot B = ||A || \ ||B|| \cos \theta
\end{align}

より

\begin{align}
\cos \theta = \frac{A \cdot B}{ ||A || \ ||B || }
\end{align}

import numpy as np

def func(x, y):
    normX = np.linalg.norm(x, ord=2)
    normY = np.linalg.norm(y, ord=2)

    theta = np.dot(x, y) / (normX * normY)

    return theta


N = 10

x = [1, 2, 3]
y = [1, 2, 3]

f = func(x, y)

print(f)

コメント

タイトルとURLをコピーしました