29 #ifndef CDPL_DESCR_SIMILARITYFUNCTORS_HPP
30 #define CDPL_DESCR_SIMILARITYFUNCTORS_HPP
136 template <
typename V>
254 alpha(alpha), beta(beta) {}
341 template <
typename V>
392 template <
typename V>
Provides functions for the calculation of various similarity and distance measures.
Functor class for calculating Cosine Similarities [WCOS] of bitsets and vectors.
Definition: SimilarityFunctors.hpp:96
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Cosine Similarity [WCOS] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:118
double operator()(const V &v1, const V &v2) const
Calculates the Cosine Similarity [WCOS] of the vectors v1 and v2.
Definition: SimilarityFunctors.hpp:137
Functor class for calculating the Dice Similarity [GSIM] of bitsets.
Definition: SimilarityFunctors.hpp:213
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Dice Similarity [GSIM] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:235
Functor class for calculating the Euclidean Distance [CITB] between bitsets and vectors.
Definition: SimilarityFunctors.hpp:352
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Euclidean Distance [CITB] between the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:374
double operator()(const V &v1, const V &v2) const
Calculates the Euclidean Distance [CITB] between the vectors v1 and v2.
Definition: SimilarityFunctors.hpp:393
Functor class for calculating the Euclidean Similarity [GSIM] of bitsets.
Definition: SimilarityFunctors.hpp:147
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Euclidean Similarity [GSIM] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:170
Functor class for calculating the Hamming Distance [WHAM, CITB] between bitsets.
Definition: SimilarityFunctors.hpp:293
std::size_t operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Hamming Distance [WHAM, CITB] between the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:315
Functor class for calculating the Manhattan Distance [MADI] between bitsets and vectors.
Definition: SimilarityFunctors.hpp:325
double operator()(const V &v1, const V &v2) const
Calculates the Manhattan Distance [MADI] between the vectors v1 and v2.
Definition: SimilarityFunctors.hpp:342
Functor class for calculating the Manhattan Similarity [GSIM] of bitsets.
Definition: SimilarityFunctors.hpp:180
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Manhattan Similarity [GSIM] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:203
Functor class for calculating Tanimoto Similarities [CITB] of bitsets and vectors.
Definition: SimilarityFunctors.hpp:45
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Tanimoto Similarity of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:67
double operator()(const V &v1, const V &v2) const
Calculates the Tanimoto Similarity of the vectors v1 and v2.
Definition: SimilarityFunctors.hpp:86
Functor class for calculating the Tversky Similarity [GSIM] of bitsets.
Definition: SimilarityFunctors.hpp:245
TverskySimilarity(double alpha=0.95, double beta=0.05)
Constructor.
Definition: SimilarityFunctors.hpp:253
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Tversky Similarity [GSIM] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:279
constexpr unsigned int V
Specifies Vanadium.
Definition: AtomType.hpp:177
CDPL_DESCR_API double calcManhattanSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Manhattan Similarity [GSIM] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcCosineSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Cosine Similarity [WCOS] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcTverskySimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2, double a, double b)
Calculates the Tversky Similarity [GSIM] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcTanimotoSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Tanimoto Similarity [CITB] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcDiceSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Dice Similarity [GSIM] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcEuclideanSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Euclidean Similarity [GSIM] of the bitsets bs1 and bs2.
CDPL_DESCR_API std::size_t calcHammingDistance(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Hamming Distance [WHAM, CITB] between the bitsets bs1 and bs2.
CDPL_DESCR_API double calcEuclideanDistance(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Euclidean Distance [CITB] between the bitsets bs1 and bs2.
double calcManhattanDistance(const V &v1, const V &v2)
Calculates the Manhattan Distance [MADI] between the vectors v1 and v2.
Definition: SimilarityFunctions.hpp:306
boost::dynamic_bitset BitSet
A dynamic bitset class.
Definition: BitSet.hpp:46
The namespace of the Chemical Data Processing Library.