scipy.spatial.distance.

hamming#

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

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

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

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

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

返回:
hammingdouble

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