Edited at

【Python】コサイン類似度



具体例

X(vector)
Y(vector)

属性値a
0.789
0.832

属性値b
0.515
0.555

属性値c
0.335
0

属性値d
0
0


対応コード

import numpy as np

def cos_sim(v1, v2):
return np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2))

X = np.array([0.789, 0.515, 0.335,0])
Y = np.array([0.832, 0.555,0,0])

# cos(X,Y) = (0.789×0.832)+(0.515×0.555)+(0.335×0)+(0×0)≒0.942
print(cos_sim(X, Y)) #=> 0.9421693704700748