00001 #ifndef SVM_H_ 00002 #define SVM_H_ 00003 00004 #include "ClassificationEngine.h" // inherit from Classification Engine 00005 #include "KernelMachines.h" // use Kernel Machines Utilies 00006 #include "svm.h" // use LibSVM 00007 00008 namespace damina 00009 { 00010 00019 class AbstractSVM : public ClassificationEngine 00020 { 00021 00022 protected: 00026 DataSet *testSet; 00027 00031 DataSet *trainingSet; 00032 00036 struct svm_parameter *params; 00037 00038 public: 00039 00040 virtual void setKernel(int); 00041 virtual void setKernel(int, int); 00042 virtual void setKernel(int, double); 00043 virtual void setKernel(int, int, double); 00044 00045 virtual void setKernelWidth(double); 00046 virtual void setKernelDegree(int); 00047 00048 virtual int getKernel(); 00049 virtual double getKernelWidth(); 00050 virtual int getKernelDegree(); 00051 00052 virtual void setTolerance(double); 00053 virtual double getTolerance(); 00054 00055 virtual void setCacheSize(int); 00056 virtual double getCacheSize(); 00057 00058 virtual void enableShrinkingHeuristics(); 00059 virtual void disableShrinkingHeuristics(); 00060 virtual bool isShrinkingHeuristicsEnabled(); 00061 00062 virtual void setTestSet(DataSet *); 00063 virtual void setTrainingSet(DataSet *); 00064 00065 virtual DataSet *getTestSet(); 00066 virtual DataSet *getTrainingSet(); 00067 00068 virtual struct svm_parameter *getParameters(); 00069 AbstractSVM(); 00070 virtual ~AbstractSVM(); 00071 }; 00072 00073 } 00074 00075 #endif /*SVM_H_*/
1.5.2