Hoe hamming-afstand in python te berekenen (met voorbeelden)


De Hamming-afstand tussen twee vectoren is eenvoudigweg de som van de overeenkomstige elementen die tussen de vectoren verschillen.

Stel dat we bijvoorbeeld de volgende twee vectoren hebben:

 x = [1, 2, 3, 4]

y = [1, 2, 5, 7]

De Hamming-afstand tussen de twee vectoren zou 2 zijn, aangezien dit het totale aantal overeenkomende elementen is met verschillende waarden.

Om de Hamming-afstand tussen twee arrays in Python te berekenen, kunnen we de functie hamming() uit de bibliotheek scipy.spatial.distance gebruiken, die de volgende syntaxis gebruikt:

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

Houd er rekening mee dat deze functie het percentage overeenkomende elementen retourneert dat tussen de twee arrays verschilt.

Om de Hamming-afstand te verkrijgen, kunnen we dus eenvoudigweg vermenigvuldigen met de lengte van een van de tabellen:

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

Deze tutorial biedt verschillende voorbeelden van praktisch gebruik van deze functie.

Voorbeeld 1: Hamming-afstand tussen binaire arrays

De volgende code laat zien hoe je de Hamming-afstand berekent tussen twee arrays die elk slechts twee mogelijke waarden bevatten:

 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

De Hamming-afstand tussen de twee tafels is 2 .

Voorbeeld 2: Hamming-afstand tussen numerieke arrays

De volgende code laat zien hoe u de Hamming-afstand berekent tussen twee arrays die elk verschillende numerieke waarden bevatten:

 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

De Hamming-afstand tussen de twee tafels is 3 .

Voorbeeld 3: Hamming-afstand tussen stringarrays

De volgende code laat zien hoe u de Hamming-afstand berekent tussen twee arrays die elk verschillende tekenwaarden bevatten:

 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

De Hamming-afstand tussen de twee tafels is 1 .

Aanvullende bronnen

Hoe de Euclidische afstand in Python te berekenen
Hoe Mahalanobis-afstand in Python te berekenen
Hoe Jaccard-gelijkenis in Python te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert