Typesetting math: 100%
Chemical Data Processing Library C++ API - Version 1.3.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
CDPL::Descr::TverskySimilarity Class Reference

Functor class for calculating the Tversky Similarity [GSIM] of bitsets. More...

#include <SimilarityFunctors.hpp>

Public Member Functions

 TverskySimilarity (double alpha=0.95, double beta=0.05)
 Constructor. More...
 
double operator() (const Util::BitSet &bs1, const Util::BitSet &bs2) const
 Calculates the Tversky Similarity [GSIM] of the bitsets bs1 and bs2. More...
 

Detailed Description

Functor class for calculating the Tversky Similarity [GSIM] of bitsets.

Constructor & Destructor Documentation

◆ TverskySimilarity()

CDPL::Descr::TverskySimilarity::TverskySimilarity ( double  alpha = 0.95,
double  beta = 0.05 
)
inline

Constructor.

Parameters
alphaWeights the contribution of the first bitset.
betaWeights the contribution of the second bitset.

Member Function Documentation

◆ operator()()

double CDPL::Descr::TverskySimilarity::operator() ( const Util::BitSet bs1,
const Util::BitSet bs2 
) const
inline

Calculates the Tversky Similarity [GSIM] of the bitsets bs1 and bs2.

The Tversky Similarity S_{ab} is calculated by:

S_{ab} = \frac{N_{ab}}{\alpha * N_a + \beta * N_b + N_{ab}}

where N_{ab} is the number of bits that are set in both bitsets, N_a is the number of bits that are only set in the first bitset and N_b is the number of bits that are only set in the second bitset. \alpha and \beta are bitset contribution weighting factors.

The Tversky measure is asymmetric. Setting the parameters \alpha = \beta = 1.0 makes it identical to the Tanimoto measure.

If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.

Parameters
bs1The first bitset.
bs2The second bitset.
Returns
The calculated similarity measure.
See also
TverskySimilarity::TverskySimilarity()

The documentation for this class was generated from the following file: