Python에서 해밍 거리를 계산하는 방법(예제 포함)
두 벡터 사이의 해밍 거리는 단순히 벡터 간에 서로 다른 해당 요소의 합입니다.
예를 들어 다음과 같은 두 개의 벡터가 있다고 가정합니다.
x = [1, 2, 3, 4] y = [1, 2, 5, 7]
두 벡터 사이의 해밍 거리는 2 입니다. 이는 서로 다른 값을 갖는 일치하는 요소의 총 개수이기 때문입니다.
Python에서 두 배열 사이의 해밍 거리를 계산하려면 다음 구문을 사용하는 scipy.spatial.distance 라이브러리의 hamming() 함수를 사용할 수 있습니다.
scipy. spatial . distance . hamming (array1, array2)
이 함수는 두 배열 간에 서로 다른 일치하는 요소의 비율을 반환합니다.
따라서 해밍 거리를 얻으려면 테이블 중 하나의 길이를 간단히 곱하면 됩니다.
scipy. spatial . distance . hamming (array1, array2) * len (array1)
이 튜토리얼에서는 이 기능의 실제 사용에 대한 몇 가지 예를 제공합니다.
예시 1: 이진 배열 간의 해밍 거리
다음 코드는 각각 두 개의 가능한 값만 포함하는 두 배열 사이의 해밍 거리를 계산하는 방법을 보여줍니다.
from scipy. spatial . distance import hamming #define arrays x = [0, 1, 1, 1, 0, 1] y = [0, 0, 1, 1, 0, 0] #calculate Hamming distance between the two arrays hamming(x, y) * len (x) 2.0
두 테이블 사이의 해밍 거리는 2 입니다.
예시 2: 숫자 배열 간의 해밍 거리
다음 코드는 각각 여러 숫자 값을 포함하는 두 배열 사이의 해밍 거리를 계산하는 방법을 보여줍니다.
from scipy. spatial . distance import hamming #define arrays x = [7, 12, 14, 19, 22] y = [7, 12, 16, 26, 27] #calculate Hamming distance between the two arrays hamming(x, y) * len (x) 3.0
두 테이블 사이의 해밍 거리는 3 입니다.
예시 3: 문자열 배열 간의 해밍 거리
다음 코드는 각각 여러 문자 값을 포함하는 두 배열 사이의 해밍 거리를 계산하는 방법을 보여줍니다.
from scipy. spatial . distance import hamming #define arrays x = ['a', 'b', 'c', 'd'] y = ['a', 'b', 'c', 'r'] #calculate Hamming distance between the two arrays hamming(x, y) * len (x) 1.0
두 테이블 사이의 해밍 거리는 1 입니다.
추가 리소스
Python에서 유클리드 거리를 계산하는 방법
Python에서 Mahalanobis 거리를 계산하는 방법
Python에서 Jaccard 유사성을 계산하는 방법