scipy.spatial.distance.

hamming#

scipy.spatial.distance.hamming(u, v, w=None)[源代码]#

计算两个一维数组之间的汉明距离。

一维数组 uv 之间的汉明距离,简而言之,是 uv 中不一致的成分的比例。如果 uv 是布尔向量,则汉明距离为

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

其中 \(c_{ij}\)\(\mathtt{u[k]} = i\)\(\mathtt{v[k]} = j\) 的出现次数,对于 \(k < n\)

参数:
u(N,) 类数组

输入数组。

v(N,) 类数组

输入数组。

w(N,) 类数组, 可选

uv 中每个值的权重。默认为 None,这表示每个值的权重为 1.0

返回:
hamming双精度浮点数

向量 uv 之间的汉明距离。

示例

>>> 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