Hoe manhattan-afstand in python te berekenen (met voorbeelden)
De Manhattan-afstand tussen twee vectoren, A en B , wordt als volgt berekend:
Σ|A ik – B ik |
waarbij i het i -de element van elke vector is.
Deze afstand wordt gebruikt om de ongelijkheid tussen twee vectoren te meten en wordt vaak gebruikt in veel machine learning-algoritmen .
Deze tutorial laat twee manieren zien om de Manhattan-afstand tussen twee vectoren in Python te berekenen.
Methode 1: Schrijf een aangepaste functie
De volgende code laat zien hoe u een aangepaste functie maakt om de Manhattan-afstand tussen twee vectoren in Python te berekenen:
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
De Manhattan-afstand tussen deze twee vectoren blijkt 9 te zijn.
We kunnen bevestigen dat dit klopt door de afstand naar Manhattan snel met de hand te berekenen:
Σ|A ik – B ik | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9 .
Methode 2: gebruik de functie cityblock().
Een andere manier om de Manhattan-afstand tussen twee vectoren te berekenen is door de functie cityblock() uit het SciPy-pakket te gebruiken:
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
Opnieuw blijkt de Manhattan-afstand tussen deze twee vectoren 9 te zijn.
Merk op dat we deze functie ook kunnen gebruiken om de Manhattan-afstand tussen twee kolommen in een Panda DataFrame te vinden:
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
Aanvullende bronnen
Hoe de Euclidische afstand in Python te berekenen
Hoe Hamming-afstand in Python te berekenen
Hoe de Levenshtein-afstand in Python te berekenen
Hoe Mahalanobis-afstand in Python te berekenen