Как рассчитать расстояние до манхэттена на python (с примерами)
Манхэттенское расстояние между двумя векторами A и B рассчитывается следующим образом:
Σ|А я – Б я |
где я — i- й элемент каждого вектора.
Это расстояние используется для измерения различия между двумя векторами и обычно используется во многих алгоритмах машинного обучения .
В этом уроке показаны два способа расчета манхэттенского расстояния между двумя векторами в Python.
Способ 1: напишите пользовательскую функцию
Следующий код показывает, как создать пользовательскую функцию для расчета манхэттенского расстояния между двумя векторами в Python:
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
Манхэттенское расстояние между этими двумя векторами оказывается равным 9 .
Мы можем подтвердить, что это правильно, быстро рассчитав вручную расстояние до Манхэттена:
Σ|А я – Б я | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9 .
Способ 2: используйте функцию cityblock().
Другой способ вычислить расстояние Манхэттена между двумя векторами — использовать функцию cityblock() из пакета SciPy:
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
И снова манхэттенское расстояние между этими двумя векторами оказывается равным 9 .
Обратите внимание, что мы также можем использовать эту функцию, чтобы найти манхэттенское расстояние между двумя столбцами в DataFrame pandas:
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
Дополнительные ресурсы
Как рассчитать евклидово расстояние в Python
Как рассчитать расстояние Хэмминга в Python
Как рассчитать расстояние Левенштейна в Python
Как рассчитать расстояние Махаланобиса в Python