tanimoto_binary_distance#

skfp.distances.tanimoto_binary_distance(vec_a: ndarray | csr_array, vec_b: ndarray | csr_array) float#

Tanimoto distance for vectors of binary values.

Computes the Tanimoto distance for binary data between two input arrays or sparse matrices by subtracting the similarity from 1, using to the formula:

\[dist(vec_a, vec_b) = 1 - sim(vec_a, vec_b)\]

The calculated distance falls within the range [0, 1]. Passing all-zero vectors to this function results in a distance of 0.

Parameters:
  • vec_a ({ndarray, sparse matrix}) – First binary input array or sparse matrix.

  • vec_b ({ndarray, sparse matrix}) – Second binary input array or sparse matrix.

Returns:

distance – Tanimoto distance between vec_a and vec_b.

Return type:

float

Examples

>>> from skfp.distances import tanimoto_binary_distance
>>> import numpy as np
>>> vec_a = np.array([1, 0, 1])
>>> vec_b = np.array([1, 0, 1])
>>> dist = tanimoto_binary_distance(vec_a, vec_b)
>>> dist
0.0
>>> from skfp.distances import tanimoto_binary_distance
>>> from scipy.sparse import csr_array
>>> vec_a = csr_array([[1, 0, 1]])
>>> vec_b = csr_array([[1, 0, 1]])
>>> dist = tanimoto_binary_distance(vec_a, vec_b)
>>> dist
0.0