私の目標は、リストから値を取得することにより、f-list ( ) の各値のコサイン類似度を計算f=[[3492.6], [13756.2], [22442.1], [22361.9], [26896.4]]
し、リストの残りの値がコサイン距離でどれだけ近いかを計算することです。したがって、結果は 5 つの異なる類似性スコアになるはずです。ただし、何らかの理由で、他のデータセットでコードをテストしても、コサイン類似度として 1.0 を取得し続けます。明らかに、(距離に関して)よりも[22361.9]
似ています。以下のコードを参照してください。[22442.1]
[13756.2]
import numpy.linalg as LA
import numpy as np
import sys
f=[[3492.6], [13756.2], [22442.1], [22361.9], [26896.4]]
cx = lambda a, b : round(np.inner(a, b)/(LA.norm(a)*LA.norm(b)), 2)
for c in f:
for i in f:
cosine=cx(c, i)
print cosine
何か案は?よろしくお願いします。