Como calcular a distância de hamming em python (com exemplos)
A distância de Hamming entre dois vetores é simplesmente a soma dos elementos correspondentes que diferem entre os vetores.
Por exemplo, suponha que temos os dois vetores a seguir:
x = [1, 2, 3, 4] y = [1, 2, 5, 7]
A distância de Hamming entre os dois vetores seria 2 , pois este é o número total de elementos correspondentes que possuem valores diferentes.
Para calcular a distância de Hamming entre dois arrays em Python, podemos usar a função hamming() da biblioteca scipy.spatial.distance, que usa a seguinte sintaxe:
scipy. spatial . distance . hamming (array1, array2)
Observe que esta função retorna a porcentagem de elementos correspondentes que diferem entre as duas matrizes.
Assim, para obter a distância de Hamming podemos simplesmente multiplicar pelo comprimento de uma das tabelas:
scipy. spatial . distance . hamming (array1, array2) * len (array1)
Este tutorial fornece vários exemplos de uso prático desta função.
Exemplo 1: distância de Hamming entre matrizes binárias
O código a seguir mostra como calcular a distância de Hamming entre duas matrizes, cada uma contendo apenas dois valores possíveis:
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
A distância de Hamming entre as duas tabelas é 2 .
Exemplo 2: distância de Hamming entre matrizes numéricas
O código a seguir mostra como calcular a distância de Hamming entre duas matrizes, cada uma contendo vários valores numéricos:
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
A distância de Hamming entre as duas tabelas é 3 .
Exemplo 3: distância de Hamming entre matrizes de strings
O código a seguir mostra como calcular a distância de Hamming entre duas matrizes, cada uma contendo vários valores de caracteres:
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
A distância de Hamming entre as duas tabelas é 1 .
Recursos adicionais
Como calcular a distância euclidiana em Python
Como calcular a distância de Mahalanobis em Python
Como calcular a similaridade de Jaccard em Python