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