scipy.spatial.distance.

canberra#

scipy.spatial.distance.canberra(u, v, w=None)[источник]#

Вычислить расстояние Канберры между двумя одномерными массивами.

Расстояние Канберры определяется как

\[d(u,v) = \sum_i \frac{|u_i-v_i|} {|u_i|+|v_i|}.\]
Параметры:
u(N,) array_like

Входной массив.

v(N,) array_like

Входной массив.

w(N,) array_like, optional

Веса для каждого значения в u и v. По умолчанию None, что присваивает каждому значению вес 1.0

Возвращает:
canberradouble

Расстояние Канберры между векторами u и v.

Примечания

Когда u[i] и v[i] равны 0 для данного i, то дробь 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