scipy.spatial.distance.

kulczynski1#

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

Compute the Kulczynski 1 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 kulczynski1(u, v) with 1/jaccard(u, v) - 1.

The Kulczynski 1 dissimilarity between two boolean 1-D arrays u and v of length n, is defined as

\[\frac{c_{11}} {c_{01} + c_{10}}\]

where \(c_{ij}\) is the number of occurrences of \(\mathtt{u[k]} = i\) and \(\mathtt{v[k]} = j\) for \(k \in {0, 1, ..., n-1}\).

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:
kulczynski1float

The Kulczynski 1 distance between vectors u and v.

Notes

This measure has a minimum value of 0 and no upper limit. It is un-defined when there are no non-matches.

Added in version 1.8.0.

References

[1]

Kulczynski S. et al. Bulletin International de l’Academie Polonaise des Sciences et des Lettres, Classe des Sciences Mathematiques et Naturelles, Serie B (Sciences Naturelles). 1927; Supplement II: 57-203.

Examples

>>> from scipy.spatial import distance
>>> distance.kulczynski1([1, 0, 0], [0, 1, 0])
0.0
>>> distance.kulczynski1([True, False, False], [True, True, False])
1.0
>>> distance.kulczynski1([True, False, False], [True])
0.5
>>> distance.kulczynski1([1, 0, 0], [3, 1, 0])
-3.0