Come calcolare la distanza di hamming in python (con esempi)


La distanza di Hamming tra due vettori è semplicemente la somma degli elementi corrispondenti che differiscono tra i vettori.

Supponiamo ad esempio di avere i seguenti due vettori:

 x = [1, 2, 3, 4]

y = [1, 2, 5, 7]

La distanza di Hamming tra i due vettori sarebbe 2 , poiché questo è il numero totale di elementi corrispondenti che hanno valori diversi.

Per calcolare la distanza di Hamming tra due array in Python possiamo utilizzare la funzione hamming() della libreria scipy.spatial.distance, che utilizza la seguente sintassi:

 scipy. spatial . distance . hamming (array1, array2)

Tieni presente che questa funzione restituisce la percentuale di elementi corrispondenti che differiscono tra i due array.

Quindi per ottenere la distanza di Hamming basterà moltiplicare per la lunghezza di una delle tabelle:

 scipy. spatial . distance . hamming (array1, array2) * len (array1)

Questo tutorial fornisce diversi esempi di utilizzo pratico di questa funzione.

Esempio 1: distanza di Hamming tra array binari

Il codice seguente mostra come calcolare la distanza di Hamming tra due array contenenti ciascuno solo due possibili valori:

 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

La distanza di Hamming tra i due tavoli è 2 .

Esempio 2: distanza di Hamming tra array numerici

Il codice seguente mostra come calcolare la distanza di Hamming tra due array contenenti ciascuno diversi valori numerici:

 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

La distanza di Hamming tra i due tavoli è 3 .

Esempio 3: distanza di Hamming tra array di stringhe

Il codice seguente mostra come calcolare la distanza di Hamming tra due array contenenti ciascuno diversi valori di carattere:

 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

La distanza di Hamming tra le due tabelle è 1 .

Risorse addizionali

Come calcolare la distanza euclidea in Python
Come calcolare la distanza di Mahalanobis in Python
Come calcolare la somiglianza di Jaccard in Python

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *