scipy.spatial.distance.

hamming#

scipy.spatial.distance.hamming(u, v, w=None)[источник]#

Вычислить расстояние Хэмминга между двумя одномерными массивами.

Расстояние Хэмминга между одномерными массивами u и v, это просто доля несовпадающих компонентов в u и v. Если u и v являются булевыми векторами, расстояние Хэмминга равно

\[\frac{c_{01} + c_{10}}{n}\]

где \(c_{ij}\) — это количество вхождений \(\mathtt{u[k]} = i\) и \(\mathtt{v[k]} = j\) для \(k < n\).

Параметры:
u(N,) array_like

Входной массив.

v(N,) array_like

Входной массив.

w(N,) array_like, optional

Веса для каждого значения в u и v. По умолчанию None, что присваивает каждому значению вес 1.0

Возвращает:
hammingdouble

Расстояние Хэмминга между векторами u и v.

Примеры

>>> from scipy.spatial import distance
>>> distance.hamming([1, 0, 0], [0, 1, 0])
0.66666666666666663
>>> distance.hamming([1, 0, 0], [1, 1, 0])
0.33333333333333331
>>> distance.hamming([1, 0, 0], [2, 0, 0])
0.33333333333333331
>>> distance.hamming([1, 0, 0], [3, 0, 0])
0.33333333333333331