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,) 类数组,可选
u 和 v 中每个值的权重。默认值为 None,表示每个值的权重为 1.0。
- 返回值:
- canberra双精度浮点数
向量 u 和 v 之间的堪培拉距离。
说明
当给定 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