SparsePairwiseHammingDistanceCalculator

class rectools.metrics.distances.SparsePairwiseHammingDistanceCalculator(features: SparseFeatures, id_map: IdMap)[source]

Bases: PairwiseDistanceCalculator

Class for computing Hamming distance between multiple pairs of elements represented in features matrix in sparse form.

ATTENTION! An incorrect value may occur for float type matrix because nonsafe comparison isung (!=)

Parameters
  • features (SparseFeatures) – Storage for sparse features with csr_matrix as field where the row index is associated with the identifier by id_map.

  • id_map (IdMap) – Mapper which include mapping info between external and internal representations for all identificators for which you’re planning search distances.

Examples

>>> from scipy.sparse import csr_matrix
>>> from rectools.dataset import IdMap, SparseFeatures
>>> from rectools.metrics import SparsePairwiseHammingDistanceCalculator
>>> features_matrix = csr_matrix(
...     [
...         [0, 0],
...         [0, 1],
...         [1, 1],
...     ])
>>> features = SparseFeatures(values=features_matrix, names=["feature_1", "feature_2"])
>>> mapper = IdMap.from_values(["i1", "i2", "i3", "i4", "i5"])
>>> calculator = SparsePairwiseHammingDistanceCalculator(features, mapper)
>>> calculator[
...    ["i1", "i1", "i1"],
...    ["i1", "i2", "i3"]
... ]
array([0., 1., 2.], dtype=float32)
Inherited-members

Parameters