bulk_sokal_sneath_2_binary_distance#

skfp.distances.bulk_sokal_sneath_2_binary_distance(X: list | ndarray | csr_array, Y: list | ndarray | csr_array | None = None) ndarray#

Bulk Sokal-Sneath distance 2 for binary matrices.

Computes the pairwise Sokal-Sneath distance 2 between binary matrices. If one array is passed, distances are computed between its rows. For two arrays, distances are between their respective rows, with i-th row and j-th column in output corresponding to i-th row from the first array and j-th row from the second array.

See also sokal_sneath_2_binary_distance().

Parameters:
  • X (ndarray or CSR sparse array) – First binary input array, of shape \(m \times d\).

  • Y (ndarray or CSR sparse array, default=None) – Second binary input array, of shape \(n \times d\). If not passed, distances are computed between rows of X.

Returns:

distances – Array with pairwise Sokal-Sneath distance 2 values. Shape is \(m \times n\) if two arrays are passed, or \(m \times m\) otherwise.https://github.com/scikit-fingerprints/scikit-fingerprints/pull/488

Return type:

ndarray

Examples

>>> from skfp.distances import bulk_sokal_sneath_2_binary_distance
>>> import numpy as np
>>> X = np.array([[1, 1, 1], [1, 0, 1]])
>>> Y = np.array([[1, 0, 1], [1, 1, 0]])
>>> bulk_sokal_sneath_2_binary_distance(X, Y)
array([[0.5, 0.5],
       [0. , 0.8]])
>>> from scipy.sparse import csr_array
>>> X = csr_array([[1, 1, 1], [1, 0, 1]])
>>> Y = csr_array([[1, 0, 1], [1, 1, 0]])
>>> bulk_sokal_sneath_2_binary_distance(X, Y)
array([[0.5, 0.5],
       [0. , 0.8]])