Jak obliczyć odległość hamminga w pythonie (z przykładami)


Odległość Hamminga między dwoma wektorami jest po prostu sumą odpowiednich elementów, które różnią się między wektorami.

Załóżmy na przykład, że mamy następujące dwa wektory:

 x = [1, 2, 3, 4]

y = [1, 2, 5, 7]

Odległość Hamminga między dwoma wektorami wyniesie 2 , ponieważ jest to całkowita liczba pasujących elementów o różnych wartościach.

Aby obliczyć odległość Hamminga między dwiema tablicami w Pythonie, możemy użyć funkcji hamming() z biblioteki scipy.spatial.distance, która wykorzystuje następującą składnię:

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

Należy pamiętać, że ta funkcja zwraca procent pasujących elementów, które różnią się w obu tablicach.

Zatem, aby otrzymać odległość Hamminga, możemy po prostu pomnożyć przez długość jednej z tabel:

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

W tym samouczku przedstawiono kilka przykładów praktycznego wykorzystania tej funkcji.

Przykład 1: Odległość Hamminga między tablicami binarnymi

Poniższy kod pokazuje, jak obliczyć odległość Hamminga między dwiema tablicami, z których każda zawiera tylko dwie możliwe wartości:

 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

Odległość Hamminga między dwiema tabelami wynosi 2 .

Przykład 2: Odległość Hamminga pomiędzy tablicami numerycznymi

Poniższy kod pokazuje, jak obliczyć odległość Hamminga między dwiema tablicami, z których każda zawiera kilka wartości liczbowych:

 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

Odległość Hamminga między dwoma tabelami wynosi 3 .

Przykład 3: Odległość Hamminga pomiędzy tablicami strun

Poniższy kod pokazuje, jak obliczyć odległość Hamminga między dwiema tablicami, z których każda zawiera kilka wartości znakowych:

 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

Odległość Hamminga między dwiema tabelami wynosi 1 .

Dodatkowe zasoby

Jak obliczyć odległość euklidesową w Pythonie
Jak obliczyć odległość Mahalanobisa w Pythonie
Jak obliczyć podobieństwo Jaccarda w Pythonie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *