R로 맨해튼 거리를 계산하는 방법(예제 포함)
두 벡터 A 와 B 사이의 맨해튼 거리는 다음과 같이 계산됩니다.
Σ|a i – b i |
여기서 i 는 각 벡터의 i 번째 요소입니다.
이 거리는 두 벡터 간의 차이점을 측정하는 데 사용되며 다양한 기계 학습 알고리즘 에서 일반적으로 사용됩니다.
이 튜토리얼에서는 R에서 맨해튼 거리를 계산하는 몇 가지 예를 제공합니다.
예 1: 두 벡터 사이의 맨해튼 거리
다음 코드는 R에서 두 벡터 사이의 맨해튼 거리를 계산하는 사용자 정의 함수를 만드는 방법을 보여줍니다.
#create function to calculate Manhattan distance manhattan_dist <- function (a, b){ dist <- abs (ab) 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 입니다.
맨해튼까지의 거리를 손으로 빠르게 계산하여 이것이 올바른지 확인할 수 있습니다.
Σ|a i – b i | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9 .
예제 2: 행렬의 벡터 간 맨해튼 거리
행렬의 여러 벡터 사이의 맨해튼 거리를 계산하려면 R에 내장된 dist() 함수를 사용할 수 있습니다.
#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 ") ABC 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에서 Mahalanobis 거리를 계산하는 방법
R에서 Minkowski 거리를 계산하는 방법