tanimoto_binary_similarity#
- skfp.distances.tanimoto_binary_similarity(vec_a: ndarray | csr_array, vec_b: ndarray | csr_array) float #
Tanimoto similarity for vectors of binary values.
Computes the Tanimoto similarity [1] for binary data between two input arrays or sparse matrices using the Jaccard index using formula:
\[sim(vec_a, vec_b) = \frac{|vec_a \cap vec_b|}{|vec_a| + |vec_b| - |vec_a \cap vec_b|}\]The calculated similarity falls within the range
[0, 1]
. Passing all-zero vectors to this function results in a similarity of 1.- 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:
similarity – Tanimoto similarity between vec_a and vec_b.
- Return type:
float
References
Examples
>>> from skfp.distances import tanimoto_binary_similarity >>> import numpy as np >>> vec_a = np.array([1, 0, 1]) >>> vec_b = np.array([1, 0, 1]) >>> sim = tanimoto_binary_similarity(vec_a, vec_b) >>> sim 1.0
>>> from skfp.distances import tanimoto_binary_similarity >>> from scipy.sparse import csr_array >>> vec_a = csr_array([[1, 0, 1]]) >>> vec_b = csr_array([[1, 0, 1]]) >>> sim = tanimoto_binary_similarity(vec_a, vec_b) >>> sim 1.0