CCosineDistance Class Reference

Inheritance diagram for CCosineDistance:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 CCosineDistance ()
 CCosineDistance (CRealFeatures *l, CRealFeatures *r)
virtual ~CCosineDistance ()
virtual bool init (CFeatures *l, CFeatures *r)
virtual void cleanup ()
virtual bool load_init (FILE *src)
virtual bool save_init (FILE *dest)
virtual EDistanceType get_distance_type ()
virtual const char * get_name ()

Protected Member Functions

virtual float64_t compute (int32_t idx_a, int32_t idx_b)


Detailed Description

class CosineDistance

The Cosine distance is obtained by using the Cosine similarity (Orchini similarity, angular similarity, normalized dot product), which measures similarity between two vectors by finding their angle. An extension to the Cosine similarity yields the Tanimoto coefficient.

\[\displaystyle d(\bf{x},\bf{x'}) = 1 - \frac{\sum_{i=1}^{n}\bf{x_{i}}\bf{x'_{i}}} {\sqrt{\sum_{i=1}^{n} x_{i}^2 \sum_{i=1}^{n} {x'}_{i}^2}} \quad x,x' \in R^{n} \]

See also:
Wikipedia: Cosine similarity

CTanimotoDistance

Definition at line 34 of file CosineDistance.h.


Constructor & Destructor Documentation

CCosineDistance::CCosineDistance (  ) 

default constructor

Definition at line 18 of file CosineDistance.cpp.

CCosineDistance::CCosineDistance ( CRealFeatures l,
CRealFeatures r 
)

constructor

Parameters:
l features of left-hand side
r features of right-hand side

Definition at line 23 of file CosineDistance.cpp.

CCosineDistance::~CCosineDistance (  )  [virtual]

Definition at line 29 of file CosineDistance.cpp.


Member Function Documentation

void CCosineDistance::cleanup (  )  [virtual]

cleanup distance

Implements CDistance.

Definition at line 41 of file CosineDistance.cpp.

float64_t CCosineDistance::compute ( int32_t  idx_a,
int32_t  idx_b 
) [protected, virtual]

compute distance for features a and b idx_{a,b} denote the index of the feature vectors in the corresponding feature object

Implements CDistance.

Definition at line 55 of file CosineDistance.cpp.

virtual EDistanceType CCosineDistance::get_distance_type (  )  [virtual]

get distance type we are

Returns:
distance type COSINE

Implements CDistance.

Definition at line 77 of file CosineDistance.h.

virtual const char* CCosineDistance::get_name (  )  [virtual]

get name of the distance

Returns:
name Cosine distance

Implements CDistance.

Definition at line 83 of file CosineDistance.h.

bool CCosineDistance::init ( CFeatures l,
CFeatures r 
) [virtual]

init distance

Parameters:
l features of left-hand side
r features of right-hand side
Returns:
if init was successful

Reimplemented from CSimpleDistance< float64_t >.

Definition at line 34 of file CosineDistance.cpp.

bool CCosineDistance::load_init ( FILE *  src  )  [virtual]

load init data from file

Parameters:
src file to load from
Returns:
if loading was successful

Implements CDistance.

Definition at line 45 of file CosineDistance.cpp.

bool CCosineDistance::save_init ( FILE *  dest  )  [virtual]

save init data to file

Parameters:
dest file to save to
Returns:
if saving was successful

Implements CDistance.

Definition at line 50 of file CosineDistance.cpp.


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

SHOGUN Machine Learning Toolbox - Documentation