Berechnung des Hamming -Abstands in Python

Berechnung des Hamming -Abstands in Python
Sie werden lernen, wie Sie in dieser Lektion die Hamming -Distanz in Python bestimmen. Die Hamming -Entfernung ist die Hinzufügung aller passenden Elemente, die zwischen Vektoren im maschinellen Lernen variieren. Sie werden wissen, was Hamming -Distanz ist und wie Sie sie am Ende dieser Lektion verwenden und wie sie mithilfe von Scipy berechnet werden können. Aber zuerst definieren wir zuerst, was Hamming -Distanz ist.

Was ist Hamming -Distanz?

Die Hamming -Entfernung ist eine Statistik, mit der zwei binäre Datenketten verglichen werden können, wenn zwei binäre Zeichenfolgen mit gleicher Länge verglichen werden. Daten können sowohl für die Fehlererkennung als auch für die Reparatur verwendet werden, wenn sie in Computernetzwerken gesendet werden. Es wird auch in der Codierungstheorie verwendet, um Datenwörter mit vergleichbarer Länge zu vergleichen.

Beim Vergleich verschiedener Texte oder binärer Vektoren wird der Hamming -Abstand häufig im maschinellen Lernen verwendet. Der Hamming -Abstand kann beispielsweise verwendet werden, um zu vergleichen und zu bestimmen, wie unterschiedlich die Zeichenfolgen sind. Die Hamming-Entfernung wird auch häufig mit in einem heißen kodierten Daten verwendet. Binäre Zeichenfolgen werden häufig zur Darstellung von One-Shot-codierten Daten (oder Bit-Zeichenfolgen) verwendet. One-HOT-codierte Vektoren eignen sich perfekt zur Bestimmung der Unterschiede zwischen zwei Punkten mit dem Hamming-Abstand, da sie immer von gleicher Länge sind.

Beispiel 1:

Wir werden Scipy verwenden, um die Hamming -Distanz in Python in diesem Beispiel zu berechnen. Verwenden Sie die Hamming () -Funktion in der Python Scipy -Bibliothek, um den Hamming -Abstand zwischen zwei Vektoren zu finden. Diese Funktion ist im räumlichen Bereich enthalten.Abstandspaket, das auch andere hilfreiche Länge berechnet.

Um den Hamming -Abstand zwischen zwei Wertelisten zu bestimmen, sehen Sie sich zunächst an. Importieren Sie das Scipy -Paket in den Code, um den Hamming -Abstand zu berechnen. Scipy.räumlich.Distanz. Hamming () nimmt die Arrays val_one und val_two als Eingabeparameter und gibt den Hamming -Abstand %zurück, der dann mit der Arraylänge multipliziert wird, um den tatsächlichen Abstand zu erhalten.

von Scipy.räumlich.Distanzimport Hamming
val_one = [20, 40, 50, 50]
val_two = [20, 40, 50, 60]
dis = hamming (val_one, val_two)
drucken (dis)

Wie Sie im folgenden Screenshot sehen können, gab die Funktion ein Ergebnis von 0 zurück.25 In dieser Situation.

Aber wie interpretieren wir diese Figur?? Der Teil der unterschiedlichen Werte wird durch den Wert zurückgegeben. Um die Anzahl der eindeutigen Einträge im Array zu finden, multiplizieren Sie diesen Wert mit der Listenlänge:

von Scipy.räumlich.Distanzimport Hamming
val_one = [20, 40, 50, 50]
val_two = [20, 40, 50, 60]
dis = hamming (val_one, val_two) * len (val_one)
drucken (dis)

Hier ist das Ergebnis, wenn wir den resultierenden Wert mit der Länge der Liste multiplizieren.

Beispiel 2:

Jetzt werden wir verstehen, wie man den Hamming -Abstand zwischen den beiden Ganzzahlvektoren berechnet. Angenommen, wir haben zwei Vektoren 'x' und 'y' mit den Werten [3,2,5,4,8] bzw. [3,1,4,4,4]. Der Hamming -Abstand kann leicht mit dem folgenden Python -Code berechnet werden. Importieren Sie das Scipy -Paket, um die Hamming -Distanz im mitgelieferten Code zu berechnen. Die Funktion Hamming () nimmt die "X" und "Y" -Arrays als Eingabeparameter und gibt den Hamming -Abstand %zurück, der mit der Arraylänge multipliziert wird, um den tatsächlichen Abstand zu erhalten.

von Scipy.räumlich.Distanzimport Hamming
x = [4,3,4,3,7]
y = [2,2,3,3,3]
dis = hamming (x, y) * len (x)
drucken (dis)

Das Folgende ist die Output des oben gezeigten Python -Codes der Hamming -Entfernung.

Beispiel 3:

In diesem Abschnitt des Artikels lernen Sie, wie Sie den Hamming -Abstand zwischen zwei binären Arrays berechnen können. Der Hamming -Abstand zwischen den beiden binären Arrays wird auf die gleiche Weise bestimmt. Es ist erwähnenswert, dass die Hamming -Distanz nur berücksichtigt, wie weit Gegenstände getrennt sind, nicht wie weit sie entfernt sind. Erforschen Sie das folgende Beispiel für die Berechnung des Hamming -Abstands zwischen zwei binären Arrays in Python. Das VAL_ONE -Array enthält [0,0,1,1,0] und das VAL_TWO -Array [1,0,1,1,1] Werte.

von Scipy.räumlich.Distanzimport Hamming
val_one = [0, 0, 1, 1, 0]
val_two = [1, 0, 1, 1, 1]
dis = hamming (val_one, val_two) * len (val_one)
drucken (dis)

Die Hamming -Entfernung beträgt 2 in dieser Situation, da sich die ersten und letzten Elemente unterscheiden, wie im folgenden Ergebnis gezeigt.

Beispiel 4:

Die Berechnung der Differenz zwischen Saiten ist eine beliebte Anwendung der Hamming -Entfernung. Da die Methode Array-ähnliche Strukturen erwartet, müssen alle Saiten, die wir vergleichen möchten, zuerst in Arrays umgewandelt werden. Die List () -Methode, die eine Zeichenfolge in eine Liste von Werten verwandelt, kann verwendet werden, um dies zu erreichen. Um zu zeigen, wie unterschiedlich zwei Saiten sind, vergleichen wir sie. Sie können sehen, dass wir im folgenden Code zwei Zeichenfolgen haben: 'Katalog' und 'Amerika.'Anschließend werden beide Zeichenfolgen verglichen und das Ergebnis wird angezeigt.

von Scipy.räumlich.Distanzimport Hamming
First_str = 'Katalog'
Second_str = 'Amerika'
dis = hamming (list (first_str), list (second_str)) * len (first_str)
drucken (dis)

Das Ergebnis des obigen Python -Code ist 7.0, was Sie hier sehen können.

Sie sollten sich immer daran erinnern, dass die Arrays gleich lang sein müssen. Python wirft einen ValueError, wenn wir versuchen, die Zeichenfolgen ungleicher Längen zu vergleichen. Da die angegebenen Arrays nur dann übereinstimmen können, wenn sie gleich lang sind. Werfen Sie einen Blick auf den folgenden Code.

von Scipy.räumlich.Distanzimport Hamming
First_str = 'Katalog'
Second_str = 'Distanz'
dis = hamming (list (first_str), list (second_str)) * len (first_str)
drucken (dis)

Hier löst der Code ValueError aus, da sich die beiden Zeichenfolgen im angegebenen Code in der Länge unterscheiden.

Abschluss

Sie haben gelernt, wie man die Hamming -Distanz in Python in diesem Tutorial berechnet. Wenn zwei Zeichenfolgen oder Arrays verglichen werden, wird der Hamming -Abstand verwendet, um zu bestimmen, wie viele Elemente sich paarweise unterscheiden. Der Hamming-Abstand wird häufig im maschinellen Lernen verwendet, um Strings und einhots codierte Arrays zu vergleichen, wie Sie wissen. Schließlich haben Sie gelernt, wie man die Scipy -Bibliothek nutzt, um die Hamming -Distanz zu berechnen.