SHOGUN
v1.1.0
|
class EuclidianDistance
The familiar Euclidian distance for real valued features computes the square root of the sum of squared disparity between the corresponding feature dimensions of two data points.
This special case of Minkowski metric is invariant to an arbitrary translation or rotation in feature space.
The Euclidian Squared distance does not take the square root:
Definition at line 43 of file EuclidianDistance.h.
Public Member Functions | |
CEuclidianDistance () | |
CEuclidianDistance (CSimpleFeatures< float64_t > *l, CSimpleFeatures< float64_t > *r) | |
virtual | ~CEuclidianDistance () |
virtual bool | init (CFeatures *l, CFeatures *r) |
virtual void | cleanup () |
virtual EDistanceType | get_distance_type () |
virtual EFeatureType | get_feature_type () |
virtual const char * | get_name () const |
virtual bool | get_disable_sqrt () |
virtual void | set_disable_sqrt (bool state) |
![]() | |
CRealDistance () | |
![]() | |
CSimpleDistance () | |
virtual EFeatureClass | get_feature_class () |
![]() | |
CDistance () | |
CDistance (CFeatures *lhs, CFeatures *rhs) | |
virtual | ~CDistance () |
float64_t | distance (int32_t idx_a, int32_t idx_b) |
SGMatrix< float64_t > | get_distance_matrix () |
virtual float64_t * | get_distance_matrix_real (int32_t &m, int32_t &n, float64_t *target) |
virtual float32_t * | get_distance_matrix_shortreal (int32_t &m, int32_t &n, float32_t *target) |
void | load (CFile *loader) |
void | save (CFile *writer) |
CFeatures * | get_lhs () |
CFeatures * | get_rhs () |
CFeatures * | replace_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 () |
![]() | |
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) |
SGIO * | get_global_io () |
void | set_global_parallel (Parallel *parallel) |
Parallel * | get_global_parallel () |
void | set_global_version (Version *version) |
Version * | get_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) |
Protected Attributes | |
bool | disable_sqrt |
Additional Inherited Members | |
![]() | |
SGIO * | io |
Parallel * | parallel |
Version * | version |
Parameter * | m_parameters |
Parameter * | m_model_selection_parameters |
![]() | |
static void * | run_distance_thread (void *p) |
run distance thread |
default constructor
Definition at line 19 of file EuclidianDistance.cpp.
CEuclidianDistance | ( | CSimpleFeatures< float64_t > * | l, |
CSimpleFeatures< float64_t > * | r | ||
) |
constructor
l | features of left-hand side |
r | features of right-hand side |
Definition at line 24 of file EuclidianDistance.cpp.
|
virtual |
Definition at line 31 of file EuclidianDistance.cpp.
|
virtual |
|
protectedvirtual |
compute kernel function for features a and b idx_{a,b} denote the index of the feature vectors in the corresponding feature object
Implements CRealDistance.
Definition at line 47 of file EuclidianDistance.cpp.
|
virtual |
disable application of sqrt on matrix computation the matrix can then also be named norm squared
Definition at line 91 of file EuclidianDistance.h.
|
virtual |
get distance type we are
Implements CRealDistance.
Definition at line 72 of file EuclidianDistance.h.
|
virtual |
get feature type the distance can deal with
Reimplemented from CRealDistance.
Definition at line 78 of file EuclidianDistance.h.
|
virtual |
get name of the distance
Reimplemented from CRealDistance.
Definition at line 84 of file EuclidianDistance.h.
init distance
l | features of left-hand side |
r | features of right-hand side |
Reimplemented from CRealDistance.
Definition at line 36 of file EuclidianDistance.cpp.
|
virtual |
disable application of sqrt on matrix computation the matrix can then also be named norm squared
state | new disable_sqrt |
Definition at line 98 of file EuclidianDistance.h.
|
protected |
if application of sqrt on matrix computation is disabled
Definition at line 111 of file EuclidianDistance.h.