SHOGUN
v1.1.0
|
Class LDA implements regularized Linear Discriminant Analysis.
LDA learns a linear classifier and requires examples to be CSimpleFeatures. The learned linear classification rule is optimal under the assumption that both classes a gaussian distributed with equal co-variance. To find a linear separation in training, the in-between class variance is maximized and the within class variance is minimized, i.e.
is maximized, where
is the between class scatter matrix and
is the within class scatter matrix with mean and
the set of examples of class c.
LDA is very fast for low-dimensional samples. The regularization parameter (especially useful in the low sample case) should be tuned in cross-validation.
Public Member Functions | |
CLDA (float64_t gamma=0) | |
CLDA (float64_t gamma, CSimpleFeatures< float64_t > *traindat, CLabels *trainlab) | |
virtual | ~CLDA () |
void | set_gamma (float64_t gamma) |
float64_t | get_gamma () |
virtual EClassifierType | get_classifier_type () |
virtual void | set_features (CDotFeatures *feat) |
virtual const char * | get_name () const |
![]() | |
CLinearMachine () | |
virtual | ~CLinearMachine () |
void | get_w (float64_t *&dst_w, int32_t &dst_dims) |
SGVector< float64_t > | get_w () |
void | set_w (SGVector< float64_t > src_w) |
void | set_bias (float64_t b) |
float64_t | get_bias () |
virtual bool | load (FILE *srcfile) |
virtual bool | save (FILE *dstfile) |
virtual CLabels * | apply () |
virtual CLabels * | apply (CFeatures *data) |
virtual float64_t | apply (int32_t vec_idx) |
get output for example "vec_idx" | |
virtual CDotFeatures * | get_features () |
![]() | |
CMachine () | |
virtual | ~CMachine () |
virtual bool | train (CFeatures *data=NULL) |
virtual void | set_labels (CLabels *lab) |
virtual CLabels * | get_labels () |
virtual float64_t | get_label (int32_t i) |
void | set_max_train_time (float64_t t) |
float64_t | get_max_train_time () |
void | set_solver_type (ESolverType st) |
ESolverType | get_solver_type () |
virtual void | set_store_model_features (bool store_model) |
![]() | |
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 bool | train_machine (CFeatures *data=NULL) |
![]() | |
virtual void | store_model_features () |
Protected Attributes | |
float64_t | m_gamma |
![]() | |
int32_t | w_dim |
float64_t * | w |
float64_t | bias |
CDotFeatures * | features |
![]() | |
float64_t | max_train_time |
CLabels * | labels |
ESolverType | solver_type |
bool | m_store_model_features |
Additional Inherited Members | |
![]() | |
SGIO * | io |
Parallel * | parallel |
Version * | version |
Parameter * | m_parameters |
Parameter * | m_model_selection_parameters |
CLDA | ( | float64_t | gamma, |
CSimpleFeatures< float64_t > * | traindat, | ||
CLabels * | trainlab | ||
) |
|
virtual |
|
virtual |
|
virtual |
void set_gamma | ( | float64_t | gamma | ) |
|
protectedvirtual |