'거리' 개념은 유사도(Similarity)를 파악하기 위해 많이 쓰입니다.
대표적으로 머신러닝의 K-최근접 이웃(K-Nearest Neighbor) 알고리즘에서 많이 볼 수 있습니다.
오늘은 유클리드 거리에 대해 알아보겠습니다.
1. 유클리드 거리 (Euclidean Distance)
유클리드 거리는 두 점 사이의 거리를 계산할 때 흔히 쓰는 방법입니다.
공식을 보면 피타고라스의 정의와 같음을 알 수 있습니다.
예시는 2차원이지만 차원수가 늘어난다면 각 차원의 차이의 제곱 합의 제곱근이 됩니다.
파이썬으로 구현해보겠습니다.
🔷 코드
def euclidean_distance(x1, x2):
distance = 0
for i in range(len(x1)):
distance += (x1[i] - x2[i]) **2
return math.sqrt(float(distance))
🔷 적용
euclidean_distance([2,3,4], [10,11,12])
🔷 결과
'Python > ML' 카테고리의 다른 글
[머신러닝] 캘리포니아 주택 가격 예측 - 2. 데이터 준비하기 (0) | 2020.10.17 |
---|---|
[머신러닝] 캘리포니아 주택 가격 예측 - 1. 큰 그림 보기 (0) | 2020.10.16 |