scipy.spatial.distance.

canberra#

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

計算兩個 1 維陣列之間的 Canberra 距離。

Canberra 距離定義為

\[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 之間的 Canberra 距離。

註解

當給定 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