Ich versuche Cosinus Abstand in Python zwischen den Zeilen in der Matrix zu berechnen und ein paar Fragen zu haben.So ich Matrix Matrix erstellen und aus den Listen bevölkern, dann umformen es für Analysezwecke:Kosinusabstand zwischen den Zeilen der Matrix berechnen
s = []
for i in range(len(a)):
for j in range(len(b_list)):
s.append(a[i].count(b_list[j]))
matr = np.array(s)
d = matr.reshape((22, 254))
der Ausgang d gibt wie ich smth:
array([[0, 0, 0, ..., 0, 0, 0],
[2, 0, 0, ..., 1, 0, 0],
[2, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[1, 0, 0, ..., 0, 0, 0]])
Dann möchte ich scipy.spatial.distance.cosine Paket verwenden Cosinus zu jedem anderen aus der ersten Reihe berechnen sonst in die d-Matrix. Wie kann ich das ausführen? Sollte es dafür eine Schleife geben? Nicht zu viel Erfahrung mit Matrix- und Array-Operationen.
Wie kann ich also for-Schleife für die zweite Argument (d [1], d [2], und so weiter) in dieser Konstruktion nicht jedes Mal zu starten:
from scipy.spatial.distance import cosine
x=cosine (d[0], d[6])
Hat dieses Paket nicht eine paarweise Funktion oder zwei? – hpaulj
Ich fürchte nicht - es verwendet Cosinus, die 2 1-D-Arrays als Eingänge wie folgt verwendet: Kosinus (u, v), wo u, v-1-D-Arrays. – HalfPintBoy
Verwenden Sie numpy? –