scipy.spatial.distance.

kulczynski1#

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

计算两个布尔型一维数组之间的 Kulczynski 1 差异。

两个长度为 n 的布尔型一维数组 uv 之间的 Kulczynski 1 差异定义为

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

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

参数:
u(N,) array_like, bool

输入数组。

v(N,) array_like, bool

输入数组。

w(N,) array_like, optional

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

返回值:
kulczynski1float

向量 uv 之间的 Kulczynski 1 距离。

备注

此度量的最小值为 0,没有上限。当没有不匹配时,它将无法定义。

在版本 1.8.0 中添加。

参考文献

[1]

Kulczynski S. 等人。波兰科学与文学学院国际通讯,数学与自然科学类,B 系列(自然科学)。1927;补充 II:57-203。

示例

>>> from scipy.spatial import distance
>>> distance.kulczynski1([1, 0, 0], [0, 1, 0])
0.0
>>> distance.kulczynski1([True, False, False], [True, True, False])
1.0
>>> distance.kulczynski1([True, False, False], [True])
0.5
>>> distance.kulczynski1([1, 0, 0], [3, 1, 0])
-3.0