scipy.spatial.distance.

sokalsneath#

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

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

Расстояние Сокала-Снита между u и v,

\[\frac{R} {c_{TT} + R}\]

где \(c_{ij}\) — это количество вхождений \(\mathtt{u[k]} = i\) и \(\mathtt{v[k]} = j\) для \(k < n\) и \(R = 2(c_{TF} + c_{FT})\).

Параметры:
u(N,) array_like, bool

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

v(N,) array_like, bool

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

w(N,) array_like, optional

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

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

Несходство Сокала-Снита между векторами u и v.

Примеры

>>> from scipy.spatial import distance
>>> distance.sokalsneath([1, 0, 0], [0, 1, 0])
1.0
>>> distance.sokalsneath([1, 0, 0], [1, 1, 0])
0.66666666666666663
>>> distance.sokalsneath([1, 0, 0], [2, 1, 0])
0.0
>>> distance.sokalsneath([1, 0, 0], [3, 1, 0])
-2.0