scipy.spatial.distance.

kulczynski1#

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

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

自 1.15.0 版本起已弃用:此函数已弃用,将在 SciPy 1.17.0 中删除。请将 kulczynski1(u, v) 的用法替换为 1/jaccard(u, v) - 1

两个长度为 n 的布尔型 1 维数组 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,) 类似数组,bool

输入数组。

v(N,) 类似数组,bool

输入数组。

w(N,) 类似数组,可选

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

返回:
kulczynski1float

向量 uv 之间的 Kulczynski 1 距离。

注释

此度量具有最小值为 0,没有上限。当没有不匹配项时,它是未定义的。

在 1.8.0 版本中添加。

参考文献

[1]

Kulczynski S. et al. Bulletin International de l’Academie Polonaise des Sciences et des Lettres, Classe des Sciences Mathematiques et Naturelles, Serie B (Sciences Naturelles). 1927; Supplement 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