So berechnen sie die manhattan-entfernung in python (mit beispielen)


Der Manhattan-Abstand zwischen zwei Vektoren A und B wird wie folgt berechnet:

Σ|A i – B i |

wobei i das i- te Element jedes Vektors ist.

Dieser Abstand wird zur Messung der Unähnlichkeit zwischen zwei Vektoren verwendet und wird häufig in vielen Algorithmen für maschinelles Lernen verwendet.

Dieses Tutorial zeigt zwei Möglichkeiten zur Berechnung des Manhattan-Abstands zwischen zwei Vektoren in Python.

Methode 1: Schreiben Sie eine benutzerdefinierte Funktion

Der folgende Code zeigt, wie man in Python eine benutzerdefinierte Funktion zur Berechnung des Manhattan-Abstands zwischen zwei Vektoren erstellt:

 from math import sqrt

#create function to calculate Manhattan distance 
def manhattan(a, b):
    return sum ( abs (val1-val2) for val1, val2 in zip (a,b))
 
#definevectors
A = [2, 4, 4, 6]
B = [5, 5, 7, 8]

#calculate Manhattan distance between vectors
manhattan(A,B)

9

Der Manhattan-Abstand zwischen diesen beiden Vektoren beträgt 9 .

Wir können bestätigen, dass dies richtig ist, indem wir schnell die Entfernung nach Manhattan von Hand berechnen:

Σ|A i – B i | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9 .

Methode 2: Verwenden Sie die Funktion cityblock()

Eine andere Möglichkeit, den Manhattan-Abstand zwischen zwei Vektoren zu berechnen, ist die Verwendung der Funktion cityblock() aus dem SciPy-Paket:

 from scipy. spatial . distance import cityblock

#definevectors
A = [2, 4, 4, 6]
B = [5, 5, 7, 8]

#calculate Manhattan distance between vectors
cityblock(A, B)

9

Auch hier beträgt der Manhattan-Abstand zwischen diesen beiden Vektoren 9 .

Beachten Sie, dass wir diese Funktion auch verwenden können, um den Manhattan-Abstand zwischen zwei Spalten in einem Pandas-DataFrame zu ermitteln:

 from scipy. spatial . distance import cityblock
import pandas as pd

#define DataFrame
df = pd. DataFrame ({' A ': [2, 4, 4, 6],
                   ' B ': [5, 5, 7, 8],
                   ' C ': [9, 12, 12, 13]})

#calculate Manhattan distance between columns A and B
cityblock(df. A , df. B )

9

Zusätzliche Ressourcen

So berechnen Sie den euklidischen Abstand in Python
So berechnen Sie die Hamming-Distanz in Python
So berechnen Sie die Levenshtein-Distanz in Python
So berechnen Sie die Mahalanobis-Distanz in Python

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert