Как рассчитать расстояние хэмминга в 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
Как рассчитать сходство Жаккара в Python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *