Wie man die (z. B. Cosinus) Ähnlichkeit zwischen einem spärlichen Vektor und einer Matrix (d. H. Einem Array von spärlichen Vektoren) berechnet?
Ist das möglich mit scikit-lernen, scipy, numpy, etc.? Wenn möglich, sollte die Ähnlichkeitsmaße leicht änderbar sein.Gibt es eine Möglichkeit, die Ähnlichkeit zwischen einem spärlichen Vektor und einer Matrix zu berechnen?
0
A
Antwort
0
Wenn Sie an der Berechnung der Kosinusähnlichkeit interessiert sind, können Sie dies mithilfe der in sklearn vorhandenen metrischen Funktionalität cosine-similarity
tun, die die Abstandsmatrix zurückgibt, wenn die Eingabe in Matrixform erfolgt.
Illustration:
import numpy as np
from sklearn.metrics.pairwise import pairwise_distances
mat_1 = np.matrix([[1,2,3],[3,4,5]])
vec_1 = (2, 3, 5)
# Make sure the dimensions of the vector and matrix are equal
>>>print pairwise_distances(mat_1, vec_1, metric = 'cosine')
[[ 0.00282354]
[ 0.01351234]]
Hinweis: Wenn Sie auf eine Änderung der Abstandsmetriken möchten, können Sie dies tun, indem Sie die entsprechenden Namen in das metrische Parameter platzieren. Wenn Ihre Eingabe jedoch eine dünn besetzte Matrix enthält, können Sie nur die Metriken ['cityblock', 'cosine', 'euclidean', 'l1', 'l2', 'manhattan']
verwenden, da andere nicht unterstützt werden, um die dünn besetzten metrischen Eingaben zu verarbeiten.
Docs Sie können weiter verweisen: Pairwise metrics, Affinities and Kernels
Verwandte Themen
- 1. Berechnen Sie die Ähnlichkeit der Sparse Matrix
- 2. Gibt es eine Möglichkeit, die Pixellänge einer Zeichenfolge zu berechnen?
- 3. Gibt es eine Möglichkeit, die Geschwindigkeit einer ScrollView zu berechnen?
- 4. Möglichkeiten, Ähnlichkeit zu berechnen
- 5. Gibt es eine Möglichkeit, eine Matrix (Vektor von Vektoren) elegant mit STL zu füllen?
- 6. Gibt es eine Möglichkeit, den ViewState MAC zu berechnen?
- 7. Gibt es eine Möglichkeit, einen Vektor vorschaubar zu zeichnen
- 8. Wie effizient berechnen die Cosinus-Ähnlichkeit zwischen Millionen von Strings
- 9. Finde Ähnlichkeit zwischen einem Satz zu einer Liste von Sätzen
- 10. Gibt es eine Möglichkeit, einen XPath von einem bekannten Wert auf einer Webseite zu berechnen?
- 11. Schneller Aufbau einer sehr großen spärlichen Matrix
- 12. Gibt es eine Möglichkeit, die Zeilen-/Spaltenräume einer Matrix in R zu finden?
- 13. Berechnen reihenweise Matrix Cumsum aus Vektor
- 14. Wie verkettet man die Zeilen einer Matrix zu einem Vektor?
- 15. Erstellen einer spärlichen Matrix aus Listen von Submatrizen (Python)
- 16. Gibt es eine Möglichkeit, die Gesamtdatengröße einer Spalte in MySql zu berechnen?
- 17. Gibt es eine Möglichkeit, eine Matrix in eine alternative Skala zu übersetzen?
- 18. Ist es möglich, Zählerwerte innerhalb einer Matrix zu berechnen?
- 19. Funktioniert Fuzzy-Logik in SQL Server 2014 BI-Version? Gibt es eine alternative Möglichkeit, die Ähnlichkeit zwischen Namen zu überprüfen?
- 20. Gibt es eine Möglichkeit, die Rotation einer Videosphäre zu erreichen?
- 21. Berechnen des Nullraums einer Matrix
- 22. Gibt es eine Möglichkeit, die Eigenschaften einer Struktur zu durchlaufen?
- 23. Gibt es eine Möglichkeit, Objekt zwischen PHP-Seiten zu teilen?
- 24. Gibt es eine Möglichkeit, in Rust zwischen einer Zeichenkette und einer Ident zu unterscheiden?
- 25. Gibt es eine Möglichkeit, zwischen mehreren Elektronenhauptprozessen zu kommunizieren?
- 26. Wie jaccard Ähnlichkeit aus einem Pandas Datenrahmen zu berechnen
- 27. Gibt es eine Möglichkeit, Konfigurationsdaten zwischen eckigen Komponenten zu teilen?
- 28. Overloading operator [] für einen spärlichen Vektor
- 29. Gibt es eine Möglichkeit, Geld zwischen Square-Konten zu übertragen?
- 30. Berechnen eine min (Vektor) eine Funktion in Python