scipy.spatial.distance.

russellrao#

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

计算两个布尔型一维数组之间的 Russell-Rao 差异。

两个布尔型一维数组 uv 之间的 Russell-Rao 差异定义为

\[\frac{n - c_{TT}} {n}\]

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

参数:
u(N,) array_like, bool

输入数组。

v(N,) array_like, bool

输入数组。

w(N,) array_like, 可选

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

返回值:
russellraodouble

向量 uv 之间的 Russell-Rao 差异。

示例

>>> from scipy.spatial import distance
>>> distance.russellrao([1, 0, 0], [0, 1, 0])
1.0
>>> distance.russellrao([1, 0, 0], [1, 1, 0])
0.6666666666666666
>>> distance.russellrao([1, 0, 0], [2, 0, 0])
0.3333333333333333