scipy.spatial.distance.sokalmichener#

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

Compute the Sokal-Michener dissimilarity between two boolean 1-D arrays.

The Sokal-Michener dissimilarity between boolean 1-D arrays u and v, is defined as

\[\frac{R} {S + R}\]

where \(c_{ij}\) is the number of occurrences of \(\mathtt{u[k]} = i\) and \(\mathtt{v[k]} = j\) for \(k < n\), \(R = 2 * (c_{TF} + c_{FT})\) and \(S = c_{FF} + c_{TT}\).

Parameters:
u(N,) array_like, bool

Input array.

v(N,) array_like, bool

Input array.

w(N,) array_like, optional

The weights for each value in u and v. Default is None, which gives each value a weight of 1.0

Returns:
sokalmichenerdouble

The Sokal-Michener dissimilarity between vectors u and v.

Examples

>>> from scipy.spatial import distance
>>> distance.sokalmichener([1, 0, 0], [0, 1, 0])
0.8
>>> distance.sokalmichener([1, 0, 0], [1, 1, 0])
0.5
>>> distance.sokalmichener([1, 0, 0], [2, 0, 0])
-1.0