Манхэттенское расстояние между двумя векторами, A и B , рассчитывается как:
Σ|а я – б я |
где i — i -й элемент в каждом векторе.
Это расстояние используется для измерения различия между любыми двумя векторами и обычно используется во многих различных алгоритмах машинного обучения .
В этом руководстве приведено несколько примеров того, как рассчитать манхэттенское расстояние в R.
Пример 1: Манхэттенское расстояние между двумя векторами
В следующем коде показано, как создать пользовательскую функцию для вычисления манхэттенского расстояния между двумя векторами в R:
#create function to calculate Manhattan distance
manhattan_dist <- function (a, b){
dist <- abs (a-b)
dist <- sum (dist)
return (dist)
}
#define two vectors
a <- c(2, 4, 4, 6)
b <- c(5, 5, 7, 8)
#calculate Manhattan distance between vectors
manhattan_dist(a, b)
[1] 9
Манхэттенское расстояние между этими двумя векторами оказывается равным 9 .
Мы можем подтвердить это правильно, быстро рассчитав манхэттенское расстояние вручную:
Σ|а я – б я | = |2-5| + |4-5| + |4-7| + |6-8| знак равно 3 + 1 + 3 + 2 = 9 .
Пример 2: Манхэттенское расстояние между векторами в матрице
Чтобы вычислить манхэттенское расстояние между несколькими векторами в матрице, мы можем использовать встроенную функцию dist() в R:
#create four vectors
a <- c(2, 4, 4, 6)
b <- c(5, 5, 7, 8)
c <- c(9, 9, 9, 8)
d <- c(1, 2, 3, 3)
#bind vectors into one matrix
mat <- rbind(a, b, c, d)
#calculate Manhattan distance between each vector in the matrix
dist(mat, method = " manhattan ")
a b c
b 9
c 19 10
d 7 16 26
Способ интерпретации этого вывода следующий:
- Манхэттенское расстояние между векторами a и b равно 9 .
- Манхэттенское расстояние между векторами a и c равно 19 .
- Манхэттенское расстояние между векторами a и d равно 7 .
- Манхэттенское расстояние между векторами b и c равно 10 .
- Манхэттенское расстояние между векторами b и d равно 16 .
- Манхэттенское расстояние между векторами c и d равно 26 .
Обратите внимание, что каждый вектор в матрице должен быть одинаковой длины.
Дополнительные ресурсы
Как рассчитать евклидово расстояние в R
Как рассчитать расстояние Махаланобиса в R
Как рассчитать расстояние Минковского в R