Я пытаюсь найти расстояние косинуса между двумя n-мерными векторами. Я сделал это, используя как scipy, так и sklearn. Как-то вывод двух библиотек отличается. Я не могу понять, почему.Выход сходства косинуса различен для разных библиотек
import numpy as np
from scipy import spatial
from sklearn import metrics
a=np.array([1,2,3,4])
b=np.array([2,3,1,4])
X=np.array([a,b])
print spatial.distance.pdist(X,'cosine')[0]
print metrics.pairwise.cosine_similarity(a,b)[0][0]
print metrics.pairwise_distances(np.reshape(a,(1,4)),np.reshape(b,(1,4)),metric = 'cosine')[0][0]
Выход этого кода выглядит следующим образом:
0.1
0.9
0.1
Я считаю, что '0.9' является косинусом угла между' a' и 'b'. –