scipy.spatial.distance.

堪培拉#

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

计算两个一维数组之间的堪培拉距离。

堪培拉距离定义为

\[d(u,v) = \sum_i \frac{|u_i-v_i|} {|u_i|+|v_i|}.\]
参数:
u(N,) 类数组

输入数组。

v(N,) 类数组

输入数组。

w(N,) 类数组,可选

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

返回值:
canberra双精度浮点数

向量 uv 之间的堪培拉距离。

说明

当给定 i 的 u[i]v[i] 都为 0 时,计算中使用分数 0/0 = 0。

示例

>>> from scipy.spatial import distance
>>> distance.canberra([1, 0, 0], [0, 1, 0])
2.0
>>> distance.canberra([1, 1, 0], [0, 1, 0])
1.0