SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions
CCosineDistance Class Reference

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 36 of file CosineDistance.h.

Inheritance diagram for CCosineDistance:
Inheritance graph
[legend]

Public Member Functions

 CCosineDistance ()
 CCosineDistance (CSimpleFeatures< float64_t > *l, CSimpleFeatures< float64_t > *r)
virtual ~CCosineDistance ()
virtual bool init (CFeatures *l, CFeatures *r)
virtual void cleanup ()
virtual EDistanceType get_distance_type ()
virtual const char * get_name () const
- Public Member Functions inherited from CSimpleDistance< float64_t >
 CSimpleDistance ()
virtual EFeatureClass get_feature_class ()
virtual EFeatureType get_feature_type ()
- Public Member Functions inherited from CDistance
 CDistance ()
 CDistance (CFeatures *lhs, CFeatures *rhs)
virtual ~CDistance ()
float64_t distance (int32_t idx_a, int32_t idx_b)
SGMatrix< float64_tget_distance_matrix ()
virtual float64_tget_distance_matrix_real (int32_t &m, int32_t &n, float64_t *target)
virtual float32_tget_distance_matrix_shortreal (int32_t &m, int32_t &n, float32_t *target)
void load (CFile *loader)
void save (CFile *writer)
CFeaturesget_lhs ()
CFeaturesget_rhs ()
CFeaturesreplace_rhs (CFeatures *rhs)
virtual void remove_lhs_and_rhs ()
virtual void remove_lhs ()
 takes all necessary steps if the lhs is removed from distance matrix
virtual void remove_rhs ()
 takes all necessary steps if the rhs is removed from distance matrix
bool get_precompute_matrix ()
virtual void set_precompute_matrix (bool flag)
int32_t get_num_vec_lhs ()
int32_t get_num_vec_rhs ()
bool has_features ()
bool lhs_equals_rhs ()
- Public Member Functions inherited from CSGObject
 CSGObject ()
 CSGObject (const CSGObject &orig)
virtual ~CSGObject ()
virtual bool is_generic (EPrimitiveType *generic) const
template<class T >
void set_generic ()
void unset_generic ()
virtual void print_serializable (const char *prefix="")
virtual bool save_serializable (CSerializableFile *file, const char *prefix="")
virtual bool load_serializable (CSerializableFile *file, const char *prefix="")
void set_global_io (SGIO *io)
SGIOget_global_io ()
void set_global_parallel (Parallel *parallel)
Parallelget_global_parallel ()
void set_global_version (Version *version)
Versionget_global_version ()
SGVector< char * > get_modelsel_names ()
char * get_modsel_param_descr (const char *param_name)
index_t get_modsel_param_index (const char *param_name)

Protected Member Functions

virtual float64_t compute (int32_t idx_a, int32_t idx_b)

Additional Inherited Members

- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters
- Static Protected Member Functions inherited from CDistance
static void * run_distance_thread (void *p)
 run distance thread
- Protected Attributes inherited from CDistance
float32_tprecomputed_matrix
bool precompute_matrix
CFeatureslhs
 feature vectors to occur on left hand side
CFeaturesrhs
 feature vectors to occur on right hand side

Constructor & Destructor Documentation

default constructor

Definition at line 20 of file CosineDistance.cpp.

constructor

Parameters
lfeatures of left-hand side
rfeatures of right-hand side

Definition at line 25 of file CosineDistance.cpp.

~CCosineDistance ( )
virtual

Definition at line 31 of file CosineDistance.cpp.

Member Function Documentation

void cleanup ( )
virtual

cleanup distance

Implements CSimpleDistance< float64_t >.

Definition at line 41 of file CosineDistance.cpp.

float64_t compute ( int32_t  idx_a,
int32_t  idx_b 
)
protectedvirtual

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 45 of file CosineDistance.cpp.

virtual EDistanceType get_distance_type ( )
virtual

get distance type we are

Returns
distance type COSINE

Implements CSimpleDistance< float64_t >.

Definition at line 65 of file CosineDistance.h.

virtual const char* get_name ( ) const
virtual

get name of the distance

Returns
name Cosine distance

Reimplemented from CSimpleDistance< float64_t >.

Definition at line 71 of file CosineDistance.h.

bool init ( CFeatures l,
CFeatures r 
)
virtual

init distance

Parameters
lfeatures of left-hand side
rfeatures of right-hand side
Returns
if init was successful

Reimplemented from CSimpleDistance< float64_t >.

Definition at line 36 of file CosineDistance.cpp.


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

SHOGUN Machine Learning Toolbox - Documentation