00001 #ifndef _theplu_yat_classifier_svm_multi_class_
00002 #define _theplu_yat_classifier_svm_multi_class_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "SVM.h"
00026
00027 #include <vector>
00028
00029 namespace theplu {
00030 namespace yat {
00031 namespace utility {
00032 class Matrix;
00033 }
00034 namespace classifier {
00035
00036 class KernelLookup;
00037 class Target;
00038
00044 class SvmMultiClass
00045 {
00046 public:
00050 SvmMultiClass(void);
00051
00057 double C(void) const;
00058
00065 SvmMultiClass* make_classifier(void) const;
00066
00072 unsigned long int max_epochs(void) const;
00073
00077 void max_epochs(unsigned long int);
00078
00095 void predict(const KernelLookup& input, utility::Matrix& predict) const;
00096
00100 void set_C(double);
00101
00111 void train(const KernelLookup& kernel, const Target& target);
00112
00113 private:
00114 SVM prototype_;
00115 std::vector<SVM> svm_;
00116
00117
00118
00119
00120 };
00121
00122 }}}
00123
00124 #endif