Skip to main content
`Ctrl`+`K`
scipy.spatial.distance.

# sokalmichener

scipy.spatial.distance.sokalmichener(u, v, w=None)

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

  Deprecated since version 1.15.0: This function is deprecated and will be removed in SciPy 1.17.0. Replace usage of `sokalmichener(u, v)` with `rogerstanimoto(u, v)`.

  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:
    sokalmichener double

      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