Python에서 유클리드 거리 계산
- NumPy 모듈을 사용하여 두 점 사이의 유클리드 거리 찾기
-
distance.euclidean()
함수를 사용하여 두 점 사이의 유클리드 거리 찾기 -
math.dist()
함수를 사용하여 두 점 사이의 유클리드 거리 찾기
수학 세계에서 모든 차원에서 두 점 사이의 최단 거리를 유클리드 거리라고합니다. 두 점 간의 차이 제곱합의 제곱근입니다.
파이썬에서 numpy, scipy 모듈은 수학적 연산을 수행하고 두 점 사이의이 선분을 계산하는 기능을 매우 잘 갖추고 있습니다.
이 튜토리얼에서는 좌표 간의 유클리드 거리를 계산하는 다양한 방법에 대해 설명합니다.
NumPy 모듈을 사용하여 두 점 사이의 유클리드 거리 찾기
numpy 모듈은 좌표가 배열 형태 일 때 필요한 거리를 찾는 데 사용할 수 있습니다. 배열의 벡터 노름을 반환 할 수있는norm()
함수가 있습니다. 아래와 같이 두 좌표 사이의 유클리드 거리를 계산하는 데 도움이 될 수 있습니다.
import numpy as np
a = np.array((1, 2, 3))
b = np.array((4, 5, 6))
dist = np.linalg.norm(a - b)
print(dist)
출력:
5.196152422706632
numpy 모듈을 사용하여 수학 공식을 직접 구현할 수도 있습니다. 이 메서드의 경우 요소의 합을 반환하는numpy.sum()
함수를 사용하고numpy.square()
함수는 요소의 제곱을 반환합니다.
import numpy as np
a = np.array((1, 2, 3))
b = np.array((4, 5, 6))
dist = np.sqrt(np.sum(np.square(a - b)))
print(dist)
출력:
5.196152422706632
numpy.sqrt()
함수는 값의 제곱근을 제공합니다.
유클리드 거리 공식을 구현하는 또 다른 방법은dot()
함수를 사용하는 것입니다. 점의 차이와 그 전치의 내적을 구하여 제곱의 합을 반환 할 수 있습니다.
예를 들면
import numpy as np
a = np.array((1, 2, 3))
b = np.array((4, 5, 6))
temp = a - b
dist = np.sqrt(np.dot(temp.T, temp))
print(dist)
출력:
5.196152422706632
distance.euclidean()
함수를 사용하여 두 점 사이의 유클리드 거리 찾기
numpy 모듈을 사용하여 유클리드 거리를 계산하는 다양한 방법에 대해 논의했습니다. 그러나 이러한 방법은 약간 느릴 수 있으므로 더 빠른 대안을 사용할 수 있습니다.
scipy 라이브러리에는 수학적 및 과학적 계산을위한 많은 기능이 있습니다. distance.euclidean()
함수는 두 점 사이의 유클리드 거리를 반환합니다.
예를 들면
from scipy.spatial import distance
a = (1, 2, 3)
b = (4, 5, 6)
print(distance.euclidean(a, b))
출력:
5.196152422706632
math.dist()
함수를 사용하여 두 점 사이의 유클리드 거리 찾기
math
모듈도 대안으로 사용할 수 있습니다. 이 모듈의dist()
함수는 두 점 사이의 선분을 반환 할 수 있습니다.
예를 들면
from math import dist
a = (1, 2, 3)
b = (4, 5, 6)
print(dist(a, b))
출력:
5.196152422706632
scipy
및math
모듈 메소드는 numpy 메소드에 대한 더 빠른 대안이며 좌표가 튜플 또는 목록 형식 일 때 작동합니다.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn