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 entsprechenden Elemente ist, die unterschiedliche Werte haben.

Um den Hamming-Abstand zwischen zwei Arrays in Python zu berechnen, können Sie 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 der entsprechenden Elemente zurückgibt, die sich zwischen den beiden Arrays unterscheiden.

Um den Hamming-Abstand zu erhalten, können wir einfach mit der Länge eines der Arrays multiplizieren:

scipy.spatial.distance.hamming(array1, array2) * len(array1)

Dieses Tutorial enthält einige Beispiele für die praktische Verwendung dieser Funktion.

Beispiel 1: Hamming-Abstand zwischen binären Arrays

Der folgende Code zeigt, wie der Hamming-Abstand zwischen zwei Arrays berechnet wird, die jeweils nur zwei mögliche Werte enthalten:

from scipy.spatial.distance import hamming

# Arrays definieren
x = [0, 1, 1, 1, 0, 1]
y = [0, 0, 1, 1, 0, 0]

# Berechnen Sie den Hamming-Abstand zwischen den beiden Arrays
hamming(x, y) * len(x)

2.0

Der Hamming-Abstand zwischen den beiden Arrays beträgt 2.

Beispiel 2: Hamming-Abstand zwischen numerischen Arrays

Der folgende Code zeigt, wie der Hamming-Abstand zwischen zwei Arrays berechnet wird, die jeweils mehrere numerische Werte enthalten:

from scipy.spatial.distance import hamming

# Arrays definieren
x = [7, 12, 14, 19, 22]
y = [7, 12, 16, 26, 27]

# Berechnen Sie den Hamming-Abstand zwischen den beiden Arrays
hamming(x, y) * len(x)

3.0

Der Hamming-Abstand zwischen den beiden Arrays beträgt 3.

Beispiel 3: Hamming-Abstand zwischen String-Arrays

Der folgende Code zeigt, wie der Hamming-Abstand zwischen zwei Arrays berechnet wird, die jeweils mehrere Zeichenwerte enthalten:

from scipy.spatial.distance import hamming 

# Arrays definieren
x = ['a', 'b', 'c', 'd']
y = ['a', 'b', 'c', 'r']

# Berechnen Sie den Hamming-Abstand zwischen den beiden Arrays
hamming(x, y) * len(x)

1.0

Der Hamming-Abstand zwischen den beiden Arrays beträgt 1.

Zusätzliche Ressourcen

So berechnen Sie die euklidische Entfernung in Python
So berechnen Sie die Mahalanobis-Entfernung in Python
Berechnen der Jaccard-Ähnlichkeit in Python

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: