scipy.spatial.distance.

braycurtis#

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

计算两个一维数组之间的 Bray-Curtis 距离。

Bray-Curtis 距离定义为

\[\sum{|u_i-v_i|} / \sum{|u_i+v_i|}\]

如果所有坐标都为正,则 Bray-Curtis 距离在 [0, 1] 范围内,如果输入长度为零,则未定义。

参数:
u(N,) array_like

输入数组。

v(N,) array_like

输入数组。

w(N,) array_like, 可选

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

返回值:
braycurtisdouble

一维数组 uv 之间的 Bray-Curtis 距离。

示例

>>> from scipy.spatial import distance
>>> distance.braycurtis([1, 0, 0], [0, 1, 0])
1.0
>>> distance.braycurtis([1, 1, 0], [0, 1, 0])
0.33333333333333331