R에서 minkowski 거리를 계산하는 방법(예제 포함)
두 벡터 A 와 B 사이의 민코프스키 거리는 다음과 같이 계산됩니다.
(Σ|a i – b i | p ) 1/p
여기서 i 는 각 벡터의 i 번째 요소이고 p 는 정수입니다.
이 거리는 두 벡터 간의 차이점을 측정하는 데 사용되며 다양한 기계 학습 알고리즘 에서 일반적으로 사용됩니다.
R의 벡터 간 Minkowski 거리를 계산하려면 다음 구문과 함께 내장 dist() 함수를 사용할 수 있습니다.
d ist(x, 메소드=”민코프스키”, p)
금:
- x: 디지털 매트릭스 또는 데이터 프레임.
- p: Minkowski 거리를 계산하는 데 사용할 전력입니다.
p = 1로 설정하는 것은 맨해튼 거리를 계산하는 것과 같고, p = 2로 설정하는 것은 유클리드 거리를 계산하는 것과 같습니다.
이 튜토리얼에서는 실제로 이 기능을 사용하는 방법에 대한 몇 가지 예를 제공합니다.
예 1: 두 벡터 사이의 민코프스키 거리
다음 코드는 dist() 함수를 사용하여 p = 3의 거듭제곱을 사용하여 R의 두 벡터 사이의 Minkowski 거리를 계산하는 방법을 보여줍니다.
#define two vectors a <- c(2, 4, 4, 6) b <- c(5, 5, 7, 8) #bind the two vectors into a single matrix mat <- rbind(a, b) #calculate Minkowski distance between vectors using a power of 3 dist(mat, method=" minkowski ", p= 3 ) has b 3.979057
이 두 벡터 사이의 민코프스키 거리(p = 3의 거듭제곱 사용)는 3.979057 입니다.
예 2: 행렬의 벡터 간 민코프스키 거리
행렬의 여러 벡터 사이의 Minkowski 거리를 계산하려면 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 Minkowski distance between vectors using a power of 3 dist(mat, method = “ minkowski ”, p= 3 ) ABC b 3.979057 c 8.439010 5.142563 d 3.332222 6.542133 10.614765
이 출력을 해석하는 방법은 다음과 같습니다.
- 벡터 a 와 b 사이의 민코프스키 거리는 3.98 입니다.
- 벡터 a 와 c 사이의 민코프스키 거리는 8.43 입니다.
- 벡터 a 와 d 사이의 민코프스키 거리는 3.33 입니다.
- 벡터 b 와 c 사이의 민코프스키 거리는 5.14 입니다.
- 벡터 b 와 d 사이의 민코프스키 거리는 6.54 입니다.
- 벡터 c 와 d 사이의 민코프스키 거리는 10.61 입니다.
행렬의 각 벡터의 길이는 동일해야 합니다.
추가 리소스
R에서 유클리드 거리를 계산하는 방법
R에서 해밍 거리를 계산하는 방법
R에서 맨해튼까지의 거리를 계산하는 방법
R에서 Mahalanobis 거리를 계산하는 방법