tanimoto_count_distance#

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

Tanimoto distance for vectors of count values.

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

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

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

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

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

Returns:

distance – Tanimoto distance between vec_a and vec_b.

Return type:

float

Examples

>>> from skfp.distances import tanimoto_count_distance
>>> import numpy as np
>>> vec_a = np.array([7, 1, 1])
>>> vec_b = np.array([7, 1, 2])
>>> dist = tanimoto_count_distance(vec_a, vec_b)
>>> dist
0.018867924528301883
>>> from skfp.distances import tanimoto_count_distance
>>> from scipy.sparse import csr_array
>>> vec_a = csr_array([[7, 1, 1]])
>>> vec_b = csr_array([[7, 1, 2]])
>>> dist = tanimoto_count_distance(vec_a, vec_b)
>>> dist
0.018867924528301883