A generic classifier interface.
A classifier takes as input CLabels. Later subclasses may specialize the classifier to require labels and a kernel or labels and (real-valued) features.
A classifier needs to override the train() function for training, the function classify_example() (optionally classify() to predict on the whole set of examples) and the load and save routines.
Definition at line 73 of file Classifier.h.
Public Member Functions | |
CClassifier () | |
virtual | ~CClassifier () |
virtual bool | train () |
virtual CLabels * | classify (CLabels *output=NULL) |
virtual float64_t | classify_example (int32_t num) |
virtual bool | load (FILE *srcfile) |
virtual bool | save (FILE *dstfile) |
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 () |
virtual EClassifierType | get_classifier_type () |
void | set_solver_type (ESolverType st) |
ESolverType | get_solver_type () |
Protected Attributes | |
float64_t | max_train_time |
CLabels * | labels |
ESolverType | solver_type |
CClassifier::CClassifier | ( | ) |
constructor
Definition at line 13 of file Classifier.cpp.
CClassifier::~CClassifier | ( | ) | [virtual] |
Definition at line 18 of file Classifier.cpp.
classify object
output | classified labels |
Reimplemented in CKNN, CLinearClassifier, CPluginEstimate, CMultiClassSVM, CSVM, CWDSVMOcas, CKernelMachine, and CKRR.
Definition at line 23 of file Classifier.cpp.
virtual float64_t CClassifier::classify_example | ( | int32_t | num | ) | [virtual] |
classify one example
abstract base method
num | which example to classify |
Reimplemented in CKernelPerceptron, CKNN, CLinearClassifier, CPluginEstimate, CMultiClassSVM, CSVM, CWDSVMOcas, and CKRR.
Definition at line 100 of file Classifier.h.
virtual EClassifierType CClassifier::get_classifier_type | ( | ) | [virtual] |
get classifier type
Reimplemented in CKernelPerceptron, CKNN, CLDA, CLPBoost, CLPM, CPerceptron, CSubGradientLPM, CCPLEXSVM, CGMNPMKL, CGMNPSVM, CGNPPSVM, CGPBTSVM, CLibLinear, CLibSVM, CLibSVMMultiClass, CLibSVMOneClass, CMPDSVM, CSubGradientSVM, CSVMLin, CSVMOcas, CSVMSGD, CWDSVMOcas, CHierarchical, CKMeans, CKRR, and CLibSVR.
Definition at line 160 of file Classifier.h.
virtual float64_t CClassifier::get_label | ( | int32_t | i | ) | [virtual] |
get one specific label
i | index of label to get |
Definition at line 142 of file Classifier.h.
virtual CLabels* CClassifier::get_labels | ( | ) | [virtual] |
float64_t CClassifier::get_max_train_time | ( | ) |
get maximum training time
Definition at line 154 of file Classifier.h.
ESolverType CClassifier::get_solver_type | ( | ) |
virtual bool CClassifier::load | ( | FILE * | srcfile | ) | [virtual] |
load Classifier from file
abstract base method
srcfile | file to load from |
Reimplemented in CKernelPerceptron, CKNN, CLinearClassifier, CMultiClassSVM, CSVM, CHierarchical, CKMeans, and CKRR.
Definition at line 109 of file Classifier.h.
virtual bool CClassifier::save | ( | FILE * | dstfile | ) | [virtual] |
save Classifier to file
abstract base method
dstfile | file to save to |
Reimplemented in CKernelPerceptron, CKNN, CLinearClassifier, CMultiClassSVM, CSVM, CHierarchical, CKMeans, and CKRR.
Definition at line 118 of file Classifier.h.
virtual void CClassifier::set_labels | ( | CLabels * | lab | ) | [virtual] |
void CClassifier::set_max_train_time | ( | float64_t | t | ) |
set maximum training time
t | maximimum training time |
Definition at line 148 of file Classifier.h.
void CClassifier::set_solver_type | ( | ESolverType | st | ) |
virtual bool CClassifier::train | ( | ) | [virtual] |
train classifier
Reimplemented in CKernelPerceptron, CKNN, CLDA, CLPBoost, CLPM, CPerceptron, CPluginEstimate, CSubGradientLPM, CCPLEXSVM, CGMNPMKL, CGMNPSVM, CGNPPSVM, CGPBTSVM, CLibLinear, CLibSVM, CLibSVMMultiClass, CLibSVMOneClass, CMPDSVM, CSubGradientSVM, CSVMLin, CSVMOcas, CSVMSGD, CWDSVMOcas, CHierarchical, CKMeans, CKRR, and CLibSVR.
Definition at line 84 of file Classifier.h.
CLabels* CClassifier::labels [protected] |
labels
Definition at line 179 of file Classifier.h.
float64_t CClassifier::max_train_time [protected] |
maximum training time
Definition at line 176 of file Classifier.h.
ESolverType CClassifier::solver_type [protected] |
solver type
Definition at line 182 of file Classifier.h.