Calcolo della distanza di Hamming in Python

Calcolo della distanza di Hamming in Python
Imparerai come determinare la distanza di Hamming in Python in questa lezione. La distanza di Hamming è l'aggiunta di tutti gli elementi corrispondenti che variano tra i vettori nell'apprendimento automatico. Saprai cos'è la distanza di Hamming e come impiegarlo entro la fine di questa lezione, nonché come calcolarlo usando Scipy, come calcolare la distanza di martello tra array binario più numerici e come calcolare la distanza di heming tra le array di stringhe. Ma prima, definiamo cos'è la distanza di martellare.

Cos'è la distanza di martello?

La distanza di Hamming è una statistica che può essere utilizzata per confrontare due stringhe di dati binari quando vengono confrontate due stringhe binarie di uguale lunghezza, la distanza calcolata del marcia è il numero di bit in cui differiscono. I dati possono essere utilizzati per il rilevamento degli errori e per la riparazione quando vengono inviati su reti di computer. Viene anche usato nella teoria della codifica per confrontare le parole di dati di lunghezza comparabile.

Quando si confrontano vari testi o vettori binari, la distanza di Hamming viene spesso utilizzata nell'apprendimento automatico. La distanza di Hamming, ad esempio, può essere utilizzata per confrontare e determinare quanto sono diverse le stringhe. La distanza di Hamming è spesso utilizzata con dati codificati a un hot. Le stringhe binarie vengono spesso utilizzate per rappresentare dati codificati a un colpo (o stringhe di bit). I vettori codificati a un colpo sono perfetti per determinare le differenze tra due punti usando la distanza di Hamming poiché sono sempre di uguale lunghezza.

Esempio 1:

Utilizzeremo Scipy per calcolare la distanza di Hamming in Python in questo esempio. Per trovare la distanza di zecca tra due vettori, utilizzare la funzione Hamming () nella libreria Python Scipy. Questa funzione è inclusa nello spaziale.Pacchetto a distanza, che include anche altre utili funzioni di calcolo della lunghezza.

Per determinare la distanza di zecca tra due elenchi di valori, prima guardali. Importa il pacchetto Scipy nel codice per calcolare la distanza di Hamming. Scipy.spaziale.distanza. Hamming () prende gli array Val_One e Val_Two come parametri di input e restituisce la distanza di Hamming %, che viene quindi moltiplicata per la lunghezza dell'array per ottenere la distanza effettiva.

da Scipy.spaziale.Hamming di importazione a distanza
Val_one = [20, 40, 50, 50]
val_two = [20, 40, 50, 60]
Dis = Hamming (Val_one, Val_two)
Stampa (dis)

Come puoi vedere nello screenshot di seguito, la funzione ha restituito un risultato di 0.25 In questa situazione.

Ma come interpretiamo questa figura? La frazione di valori diversi viene restituita dal valore. Per trovare il numero di voci univoci nell'array, moltiplica questo valore per la lunghezza dell'elenco:

da Scipy.spaziale.Hamming di importazione a distanza
Val_one = [20, 40, 50, 50]
val_two = [20, 40, 50, 60]
Dis = Hamming (val_one, val_two) * len (val_one)
Stampa (dis)

Ecco il risultato quando moltiplichiamo il valore risultante con la lunghezza dell'elenco.

Esempio 2:

Ora, capiremo come calcolare la distanza di martello tra i due vettori interi. Supponiamo che abbiamo due vettori "X" e "Y" con i valori [3,2,5,4,8] e [3,1,4,4,4], rispettivamente. La distanza di Hamming può essere facilmente calcolata usando il codice Python in basso. Importa il pacchetto Scipy per calcolare la distanza di Hamming nel codice fornito. La funzione Hamming () prende gli array "x" e "y" come parametri di input e restituisce la distanza di martello, che viene moltiplicata per la lunghezza dell'array per ottenere la distanza effettiva.

da Scipy.spaziale.Hamming di importazione a distanza
X = [4,3,4,3,7]
y = [2,2,3,3,3]
Dis = Hamming (x, y) * len (x)
Stampa (dis)

Di seguito è riportato l'output del codice Python a distanza di Hamming mostrato sopra.

Esempio 3:

In questa sezione dell'articolo, imparerai come calcolare la distanza di martello tra diciamo due array binari. La distanza di ket. Vale la pena notare che la distanza di Hamming considera solo fino a che punto gli oggetti sono separati, non quanto sono lontani. Esplora il seguente esempio di calcolo della distanza di martello tra due array binari in Python. L'array Val_one contiene [0,0,1,1,0] e Val_two Array contiene valori [1,0,1,1,1].

da Scipy.spaziale.Hamming di importazione a distanza
val_one = [0, 0, 1, 1, 0]
val_two = [1, 0, 1, 1, 1]
Dis = Hamming (val_one, val_two) * len (val_one)
Stampa (dis)

La distanza di Hamming è 2 in questa situazione poiché il primo e l'ultimo elementi differiscono, come mostrato nel risultato seguente.

Esempio 4:

Il calcolo della differenza tra le stringhe è un'applicazione popolare della distanza di Hamming. Poiché il metodo prevede strutture simili all'array, qualsiasi stringa che vogliamo confrontare deve prima essere trasformata in array. Il metodo List (), che trasforma una stringa in un elenco di valori, può essere utilizzato per raggiungere questo obiettivo. Per mostrare quanto sono diverse due stringhe, confrontiamole. Puoi vedere che abbiamo due stringhe nel codice qui sotto: "Catalogo" e "America.'In seguito, entrambe le stringhe vengono quindi confrontate e il risultato viene visualizzato.

da Scipy.spaziale.Hamming di importazione a distanza
First_str = 'Catalogo'
Second_str = 'America'
Dis = Hamming (elenco (First_str), List (second_str)) * len (first_str)
Stampa (dis)

Il risultato del codice Python sopra è 7.0, che puoi vedere qui.

Dovresti sempre ricordare che gli array devono essere della stessa lunghezza. Python lancerà un valorerror se proviamo a confrontare le stringhe di lunghezze disuguali. Perché gli array forniti possono essere abbinati solo se hanno la stessa lunghezza. Dai un'occhiata al codice sottostante.

da Scipy.spaziale.Hamming di importazione a distanza
First_str = 'Catalogo'
Second_str = 'Distanza'
Dis = Hamming (elenco (First_str), List (second_str)) * len (first_str)
Stampa (dis)

Qui, il codice lancia valorerror perché le due stringhe nel codice dato differiscono in lunghezza.

Conclusione

Hai imparato a calcolare la distanza di Hamming in Python in questo tutorial. Quando vengono confrontate due stringhe o array, la distanza di Hamming viene utilizzata per determinare quanti elementi differiscono a coppie. La distanza di ket. Infine, hai imparato a utilizzare la libreria Scipy per calcolare la distanza di Hamming.