So berechnen sie die hamming-distanz in python (mit beispielen)
Der Hamming-Abstand zwischen zwei Vektoren ist einfach die Summe der entsprechenden Elemente, die sich zwischen den Vektoren unterscheiden.
Angenommen, wir haben die folgenden zwei Vektoren:
x = [1, 2, 3, 4] y = [1, 2, 5, 7]
Der Hamming-Abstand zwischen den beiden Vektoren wäre 2 , da dies die Gesamtzahl der übereinstimmenden Elemente mit unterschiedlichen Werten ist.
Um den Hamming-Abstand zwischen zwei Arrays in Python zu berechnen, können wir die Funktion hamming() aus der Bibliothek scipy.spatial.distance verwenden, die die folgende Syntax verwendet:
scipy. spatial . distance . hamming (array1, array2)
Beachten Sie, dass diese Funktion den Prozentsatz übereinstimmender Elemente zurückgibt, die sich zwischen den beiden Arrays unterscheiden.
Um die Hamming-Distanz zu erhalten, können wir einfach mit der Länge einer der Tabellen multiplizieren:
scipy. spatial . distance . hamming (array1, array2) * len (array1)
Dieses Tutorial bietet mehrere Beispiele für die praktische Verwendung dieser Funktion.
Beispiel 1: Hamming-Abstand zwischen binären Arrays
Der folgende Code zeigt, wie die Hamming-Distanz zwischen zwei Arrays berechnet wird, die jeweils nur zwei mögliche Werte enthalten:
from scipy. spatial . distance import hamming #define arrays x = [0, 1, 1, 1, 0, 1] y = [0, 0, 1, 1, 0, 0] #calculate Hamming distance between the two arrays hamming(x, y) * len (x) 2.0
Der Hamming-Abstand zwischen den beiden Tabellen beträgt 2 .
Beispiel 2: Hamming-Abstand zwischen numerischen Arrays
Der folgende Code zeigt, wie die Hamming-Distanz zwischen zwei Arrays berechnet wird, die jeweils mehrere numerische Werte enthalten:
from scipy. spatial . distance import hamming #define arrays x = [7, 12, 14, 19, 22] y = [7, 12, 16, 26, 27] #calculate Hamming distance between the two arrays hamming(x, y) * len (x) 3.0
Der Hamming-Abstand zwischen den beiden Tabellen beträgt 3 .
Beispiel 3: Hamming-Abstand zwischen String-Arrays
Der folgende Code zeigt, wie die Hamming-Distanz zwischen zwei Arrays berechnet wird, die jeweils mehrere Zeichenwerte enthalten:
from scipy. spatial . distance import hamming #define arrays x = ['a', 'b', 'c', 'd'] y = ['a', 'b', 'c', 'r'] #calculate Hamming distance between the two arrays hamming(x, y) * len (x) 1.0
Der Hamming-Abstand zwischen den beiden Tabellen beträgt 1 .
Zusätzliche Ressourcen
So berechnen Sie den euklidischen Abstand in Python
So berechnen Sie die Mahalanobis-Distanz in Python
So berechnen Sie die Jaccard-Ähnlichkeit in Python