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 | Static Protected Member Functions | Protected Attributes
CDistanceMachine Class Reference

Detailed Description

A generic DistanceMachine interface.

A distance machine is based on a a-priori choosen distance.

Definition at line 32 of file DistanceMachine.h.

Inheritance diagram for CDistanceMachine:
Inheritance graph
[legend]

Public Member Functions

 CDistanceMachine ()
virtual ~CDistanceMachine ()
void set_distance (CDistance *d)
CDistanceget_distance ()
void distances_lhs (float64_t *result, int32_t idx_a1, int32_t idx_a2, int32_t idx_b)
void distances_rhs (float64_t *result, int32_t idx_b1, int32_t idx_b2, int32_t idx_a)
virtual const char * get_name () const
virtual CLabelsapply ()
virtual CLabelsapply (CFeatures *data)
virtual float64_t apply (int32_t num)
- Public Member Functions inherited from CMachine
 CMachine ()
virtual ~CMachine ()
virtual bool train (CFeatures *data=NULL)
virtual bool load (FILE *srcfile)
virtual bool save (FILE *dstfile)
virtual void set_labels (CLabels *lab)
virtual CLabelsget_labels ()
virtual float64_t get_label (int32_t i)
void set_max_train_time (float64_t t)
float64_t get_max_train_time ()
virtual EClassifierType get_classifier_type ()
void set_solver_type (ESolverType st)
ESolverType get_solver_type ()
virtual void set_store_model_features (bool store_model)
- 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 void store_model_features ()
- Protected Member Functions inherited from CMachine
virtual bool train_machine (CFeatures *data=NULL)
- Protected Member Functions inherited from CSGObject
virtual void load_serializable_pre () throw (ShogunException)
virtual void load_serializable_post () throw (ShogunException)
virtual void save_serializable_pre () throw (ShogunException)
virtual void save_serializable_post () throw (ShogunException)

Static Protected Member Functions

static void * run_distance_thread_lhs (void *p)
static void * run_distance_thread_rhs (void *p)

Protected Attributes

CDistancedistance
- Protected Attributes inherited from CMachine
float64_t max_train_time
CLabelslabels
ESolverType solver_type
bool m_store_model_features

Additional Inherited Members

- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters

Constructor & Destructor Documentation

default constructor

Definition at line 28 of file DistanceMachine.cpp.

~CDistanceMachine ( )
virtual

Definition at line 34 of file DistanceMachine.cpp.

Member Function Documentation

CLabels * apply ( )
virtual

Classify all rhs features using the built clusters. Cluster index with smallest distance to to be classified element is returned

Returns
classified labels

Implements CMachine.

Reimplemented in CHierarchical, and CKNN.

Definition at line 224 of file DistanceMachine.cpp.

CLabels * apply ( CFeatures data)
virtual

Classify all provided features. Cluster index with smallest distance to to be classified element is returned

Parameters
data(test)data to be classified
Returns
classified labels

Implements CMachine.

Reimplemented in CHierarchical, and CKNN.

Definition at line 207 of file DistanceMachine.cpp.

float64_t apply ( int32_t  num)
virtual

Apply machine to one example. Cluster index with smallest distance to to be classified element is returned

Parameters
numwhich example to apply machine to
Returns
cluster label nearest to example

Reimplemented from CMachine.

Reimplemented in CHierarchical, and CKNN.

Definition at line 233 of file DistanceMachine.cpp.

void distances_lhs ( float64_t result,
int32_t  idx_a1,
int32_t  idx_a2,
int32_t  idx_b 
)

get distance functions for lhs feature vectors going from a1 to a2 and rhs feature vector b

Parameters
resultarray of distance values
idx_a1first feature vector a1 at idx_a1
idx_a2last feature vector a2 at idx_a2
idx_bfeature vector b at idx_b

Definition at line 51 of file DistanceMachine.cpp.

void distances_rhs ( float64_t result,
int32_t  idx_b1,
int32_t  idx_b2,
int32_t  idx_a 
)

get distance functions for rhs feature vectors going from b1 to b2 and lhs feature vector a

Parameters
resultarray of distance values
idx_b1first feature vector a1 at idx_b1
idx_b2last feature vector a2 at idx_b2
idx_afeature vector a at idx_a

Definition at line 113 of file DistanceMachine.cpp.

CDistance* get_distance ( )

get distance

Returns
distance

Definition at line 54 of file DistanceMachine.h.

virtual const char* get_name ( ) const
virtual

Returns the name of the SGSerializable instance. It MUST BE the CLASS NAME without the prefixed `C'.

Returns
name of the SGSerializable

Implements CSGObject.

Reimplemented in CKNN, CKMeans, and CHierarchical.

Definition at line 83 of file DistanceMachine.h.

void * run_distance_thread_lhs ( void *  p)
staticprotected

pthread function for compute distance values

Parameters
pthread parameter

Definition at line 175 of file DistanceMachine.cpp.

void * run_distance_thread_rhs ( void *  p)
staticprotected

pthread function for compute distance values

Parameters
pthread parameter

Definition at line 191 of file DistanceMachine.cpp.

void set_distance ( CDistance d)

set distance

Parameters
ddistance to set

Definition at line 43 of file DistanceMachine.h.

virtual void store_model_features ( )
protectedvirtual

Ensures cluster centers are in lhs of underlying distance

NOT IMPLEMENTED! Base method. Is called automatically after train because flag is always true for distance machines. Since every distance machine has to make sure that cluster centers are in lhs of distance variable, it is unimplemented here and HAS to be implemented in subclasses.

Reimplemented from CMachine.

Reimplemented in CKNN, CKMeans, and CHierarchical.

Definition at line 121 of file DistanceMachine.h.

Member Data Documentation

CDistance* distance
protected

the distance

Definition at line 146 of file DistanceMachine.h.


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

SHOGUN Machine Learning Toolbox - Documentation