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