93 #ifndef BASICSVMADAPTER_HH 94 #define BASICSVMADAPTER_HH 119 template<
typename FV,
typename STDATA = StDataASCIIFile>
195 virtual void loadModel( STDATA& stData) = 0;
235 virtual void saveModel( STDATA& stData)
const = 0;
249 int detailLevel = 1) = 0;
258 int detailLevel = 1) = 0;
300 std::vector<FV>::iterator FV_begin,
302 std::vector<FV>::iterator& FV_end) = 0;
343 template<
typename ForwardIter>
344 void train( ForwardIter FV_begin,
const ForwardIter& FV_end)
366 template<
typename ForwardIter,
typename Accessor>
368 const ForwardIter& FV_end,
416 virtual double classify(
const FV& testObject) = 0;
457 const std::vector<FV>& featureVectors) = 0;
506 virtual std::vector<const typename svt::Model<FV>* >
getTwoClassModels()
const =0;
virtual void saveTrainingInfos(STDATA &stData, int detailLevel=1)=0
save additional trainnig infos to given structured data
The GroupedTrainingData class is a container for feature vectors.
virtual ~BasicSVMAdapter()
virtual void clearKernelCache()=0
call clearCache() method of selected kernel, e.g., for Kernel_MATRIX this will clear the internal cac...
void setStoreClassificationDetailsFlag(bool f)
virtual FV * getSupportVector(int i) const =0
returns ith SV in model
void train(ForwardIter FV_begin, const ForwardIter &FV_end)
train the Multi Class SVM with the given feature vectors.
virtual size_t nSupportVectors() const =0
returns number of SV in model
virtual double classIndexToLabel(unsigned int classIndex) const =0
map classIndex to label (loadModel() or train() must have been called before)
virtual void saveClassificationDetailsASCII(StDataASCII &stData) const =0
classify the given Feature Vector.
void train(ForwardIter FV_begin, const ForwardIter &FV_end, Accessor accessor)
same as train(), but you can specify an Accessor for accessing the elements of your container...
virtual void computeTrainKernelMatrix(float **kmatrix, const std::vector< FV > &featureVectors)=0
Evaluate kernel matrix of the svm.
virtual void saveModel(STDATA &stData) const =0
save resulting model from training process into given map
virtual void optimizeLinearModel()=0
optimize model for faster classification
bool getStoreClassificationDetailsFlag() const
virtual void saveOnlyKernelParameters(StDataASCII &stData) const =0
save only Kernel Parameters (this is used for user information and to detect in grid search...
virtual void updateKernelCache(const GroupedTrainingData< FV > &trainData)=0
call updateCache() of selected kernel, e.g., for Kernel_MATRIX this will setup the internal cache mat...
virtual void setProgressReporter(ProgressReporter *pr)=0
set progress reporter object.
virtual void train(const GroupedTrainingData< FV > &trainData)=0
train SVM with given training data.
virtual double classify(const FV &testObject)=0
classify the given Feature Vector.
virtual void saveParameters(STDATA &stData) const =0
store all parameters of the SVM to given map
virtual void loadModel(STDATA &stData)=0
load model data from stData into SVM's.
bool _storeClassificationDetailsFlag
virtual void updateTestKernelCache(typename std::vector< FV >::iterator FV_begin, const typename std::vector< FV >::iterator &FV_end)=0
Load Test Kernel Cache.
virtual void loadParameters(STDATA &stData)=0
Read all parameters (e.g.
The StDataASCII class is a container for "structured data", that is kept completly in memory...
virtual std::vector< const typename svt::Model< FV > *> getTwoClassModels() const =0
returns vector containing pointers to all TwoClassModels
virtual int nClasses() const =0
get number of Classes (loadModel() or train() must have been called before)