Python으로 캔버라에서 거리를 계산하는 방법(예제 포함)


두 벡터 A와 B 사이의 캔버라 거리는 다음과 같이 계산됩니다.

캔버라에서의 거리 = Σ |A i -B i | / (|A i | + |B i |)

금:

  • A i : 벡터 A의 i번째
  • B i : 벡터 B의 i 번째

예를 들어 다음과 같은 두 개의 벡터가 있다고 가정합니다.

  • A = [2, 4, 4, 6]
  • B = [5, 5, 7, 8]

A와 B 사이의 캔버라 거리는 다음과 같이 계산됩니다.

  • 캔버라에서의 거리 = |2-5|/(2+5) + |4-5|/(4+5) + |4-7|/(4+7) + |6-8|/(6+8 ) )
  • 캔버라에서의 거리 = 3/7 + 1/9 + 3/11 + 2/14
  • 캔버라에서의 거리 = 0.95527

이 두 벡터 사이의 캔버라 거리는 0.95527 입니다.

다음 예는 Python에서 이 두 정확한 벡터 사이의 캔버라 거리를 계산하는 방법을 보여줍니다.

예: Python에서 캔버라까지의 거리 계산

먼저, 각 벡터를 담을 NumPy 배열을 만들어 보겠습니다.

 import numpy as np

#define two arrays
array1 = np. array ([2, 4, 4, 6])
array2 = np. array ([5, 5, 7, 8])

그런 다음 Python의 SciPy 패키지에 있는 canberra() 함수를 사용하여 두 벡터 사이의 캔버라 거리를 계산할 수 있습니다.

 from scipy. spatial import distance

#calculate Canberra distance between the arrays
distance. canberra (array1, array2)

0.9552669552

두 벡터 사이의 캔버라 거리는 0.95527 입니다.

이 값은 이전에 수동으로 계산한 값과 일치합니다.

참고 : 여기에서 SciPy 패키지의 canberra() 함수에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Python에서 다른 일반적인 거리 측정법을 계산하는 방법을 설명합니다.

Python에서 유클리드 거리를 계산하는 방법
Python으로 맨해튼 거리를 계산하는 방법
Python에서 해밍 거리를 계산하는 방법
Python에서 Mahalanobis 거리를 계산하는 방법
Python에서 Levenshtein 거리를 계산하는 방법

의견을 추가하다

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