Ich versuche, den Kosinusabstand zwischen zwei n-dimensionalen Vektoren zu finden. Das habe ich mit Scipy und Sklearn gemacht. Irgendwie sind die Ausgaben der beiden Bibliotheken unterschiedlich. Ich verstehe nicht warum.Cosinus-Ähnlichkeitsausgabe unterschiedlich für verschiedene Bibliotheken
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]
Ausgang dieser Code ist wie folgt:
0.1
0.9
0.1
Ich glaube '0,9' ist der Kosinus des Winkels zwischen' a' und 'b'. –