R에서 minkowski 거리를 계산하는 방법(예제 포함)


두 벡터 AB 사이의 민코프스키 거리는 다음과 같이 계산됩니다.

(Σ|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

이 출력을 해석하는 방법은 다음과 같습니다.

  • 벡터 ab 사이의 민코프스키 거리는 3.98 입니다.
  • 벡터 ac 사이의 민코프스키 거리는 8.43 입니다.
  • 벡터 ad 사이의 민코프스키 거리는 3.33 입니다.
  • 벡터 bc 사이의 민코프스키 거리는 5.14 입니다.
  • 벡터 bd 사이의 민코프스키 거리는 6.54 입니다.
  • 벡터 cd 사이의 민코프스키 거리는 10.61 입니다.

행렬의 각 벡터의 길이는 동일해야 합니다.

추가 리소스

R에서 유클리드 거리를 계산하는 방법
R에서 해밍 거리를 계산하는 방법
R에서 맨해튼까지의 거리를 계산하는 방법
R에서 Mahalanobis 거리를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다