Як обчислити відстань хеммінга в python (з прикладами)
Відстань Хеммінга між двома векторами – це просто сума відповідних елементів, які відрізняються між векторами.
Наприклад, припустимо, що ми маємо такі два вектори:
x = [1, 2, 3, 4] y = [1, 2, 5, 7]
Відстань Хеммінга між двома векторами буде 2 , оскільки це загальна кількість відповідних елементів, які мають різні значення.
Щоб обчислити відстань Хеммінга між двома масивами в Python, ми можемо використати функцію hamming() із бібліотеки scipy.spatial.distance, яка використовує такий синтаксис:
scipy. spatial . distance . hamming (array1, array2)
Зауважте, що ця функція повертає відсоток відповідних елементів, які відрізняються між двома масивами.
Отже, щоб отримати відстань Хеммінга, ми можемо просто помножити на довжину однієї з таблиць:
scipy. spatial . distance . hamming (array1, array2) * len (array1)
Цей підручник містить кілька прикладів практичного використання цієї функції.
Приклад 1: відстань Хеммінга між двійковими масивами
Наступний код показує, як обчислити відстань Хеммінга між двома масивами, кожен з яких містить лише два можливі значення:
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
Відстань Хеммінга між двома столами дорівнює 2 .
Приклад 2: Відстань Хеммінга між числовими масивами
Наступний код показує, як обчислити відстань Хеммінга між двома масивами, кожен з яких містить кілька числових значень:
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
Відстань Хеммінга між двома столами дорівнює 3 .
Приклад 3: відстань Хеммінга між масивами рядків
Наступний код показує, як обчислити відстань Хеммінга між двома масивами, кожен з яких містить кілька значень символів:
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
Відстань Хеммінга між двома столами дорівнює 1 .
Додаткові ресурси
Як розрахувати евклідову відстань у Python
Як обчислити відстань Махаланобіса в Python
Як розрахувати подібність Jaccard у Python