iRoCS Toolbox  1.1.0
Public Types | Public Member Functions
svt::BasicCVAdapter< FV, PROBLEM, STDATA > Class Template Referenceabstract

#include <BasicCVAdapter.hh>

Inheritance diagram for svt::BasicCVAdapter< FV, PROBLEM, STDATA >:
Collaboration diagram for svt::BasicCVAdapter< FV, PROBLEM, STDATA >:

Public Types

typedef FV FV_TYPE
 
typedef PROBLEM PROBLEM_TYPE
 

Public Member Functions

virtual ~BasicCVAdapter ()
 
virtual double classificationDelta () const =0
 
virtual const std::vector< StDataASCII > & classificationDetailsByUID () const =0
 get classification details for each uid from last full CV or parital CV. More...
 
virtual void clearKernelCache ()=0
 call clearKernelCache() of selected svm. More...
 
virtual int doFullCV (const std::vector< int > &subsetIndexByUID, std::vector< double > &predictedClassLabelByUID)=0
 do a full cross validation. More...
 
virtual bool getStoreClassificationDetailsFlag () const =0
 
virtual void loadParameters (STDATA &stData)=0
 Read all parameters (e.g. More...
 
virtual void loadParameters (StDataASCII &stData)=0
 
virtual void loadParameters (StDataCmdLine &stData)=0
 Same as loadParameters, but for Parameters from command line. More...
 
virtual void preprocessTrainingData ()=0
 trains all two-class SVM's with the whole data set. More...
 
virtual void saveOnlyKernelParameters (StDataASCII &stData)=0
 save only Kernel Parameters (this is used for user information and to detect in grid search, wether a kernel parameter is changed More...
 
virtual void saveParameters (STDATA &stData)=0
 store all parameters of the SVM to given mapstructured data More...
 
virtual void saveParameters (StDataASCII &stData)=0
 
virtual void saveStatistics (STDATA &statistics, int detailLevel=1)=0
 save cross validation statistics. More...
 
virtual void saveStatistics (StDataASCII &statistics, int detailLevel=1)=0
 
virtual void setClassificationDelta (double d)=0
 
virtual void setProgressReporter (ProgressReporter *pr)=0
 set progress reporter object. More...
 
virtual void setStoreClassificationDetailsFlag (bool f)=0
 
virtual void setTrainingData (const PROBLEM *problem)=0
 set the training data. More...
 
virtual const PROBLEM * trainingData () const =0
 get pointer to training data, that was set with setTrainingData(). More...
 
virtual void updateKernelCache ()=0
 call updateKernelCache() of selected svm with given problem. More...
 

Detailed Description

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
class svt::BasicCVAdapter< FV, PROBLEM, STDATA >

Definition at line 76 of file BasicCVAdapter.hh.

Member Typedef Documentation

◆ FV_TYPE

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
typedef FV svt::BasicCVAdapter< FV, PROBLEM, STDATA >::FV_TYPE

Definition at line 79 of file BasicCVAdapter.hh.

◆ PROBLEM_TYPE

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
typedef PROBLEM svt::BasicCVAdapter< FV, PROBLEM, STDATA >::PROBLEM_TYPE

Definition at line 80 of file BasicCVAdapter.hh.

Constructor & Destructor Documentation

◆ ~BasicCVAdapter()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter ( )
inlinevirtual

Definition at line 82 of file BasicCVAdapter.hh.

Member Function Documentation

◆ setProgressReporter()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::setProgressReporter ( ProgressReporter pr)
pure virtual

set progress reporter object.

0 means no progress reporting. You are still the owner of this object, so you are responsible, that it exists during further calls to train(), etc. and that it is deleted afterwards

Parameters
prpointer to ProgressReporter object or 0 if no progress reposting is desired

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ loadParameters() [1/3]

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::loadParameters ( STDATA &  stData)
pure virtual

Read all parameters (e.g.

cost, gamma, etc) for the SVM from given structured data (e.g. an StDataASCII object). For non-existing keys the parameters remain unchanged, e.g. if key "cost" does not exist in the given map, the cost of the TwoClassSVMc will not be changed

Parameters
stDatastructured data containing parameters as key/value pairs
Exceptions
...depending on your STDATA class

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ loadParameters() [2/3]

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::loadParameters ( StDataASCII stData)
pure virtual

◆ loadParameters() [3/3]

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::loadParameters ( StDataCmdLine stData)
pure virtual

Same as loadParameters, but for Parameters from command line.

The StDataCmdLine keeps track of unused parameters

Parameters

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

◆ saveParameters() [1/2]

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::saveParameters ( STDATA &  stData)
pure virtual

store all parameters of the SVM to given mapstructured data

Parameters
stDatastructured data containing parameters as key/value pairs
Exceptions
...depending on your STDATA class

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ saveParameters() [2/2]

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::saveParameters ( StDataASCII stData)
pure virtual

◆ saveOnlyKernelParameters()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::saveOnlyKernelParameters ( StDataASCII stData)
pure virtual

save only Kernel Parameters (this is used for user information and to detect in grid search, wether a kernel parameter is changed

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ setTrainingData()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::setTrainingData ( const PROBLEM *  problem)
pure virtual

set the training data.

the CrossValidator only stores a pointer to it, so you are responsible that the training data keeps avaiblibe during further calls, and is deleted at the end of the program

Parameters
problempointer to the training data

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ trainingData()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual const PROBLEM* svt::BasicCVAdapter< FV, PROBLEM, STDATA >::trainingData ( ) const
pure virtual

get pointer to training data, that was set with setTrainingData().

Returns
pointer to training data or 0, if no training data was specified yet

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ updateKernelCache()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::updateKernelCache ( )
pure virtual

call updateKernelCache() of selected svm with given problem.

You are responsible to call this before preprocessTrainingData(), every time when kernel parameters or dataset was chenged. (usually every time before you call preprocessTrainingData())

Parameters

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ clearKernelCache()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::clearKernelCache ( )
pure virtual

◆ preprocessTrainingData()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::preprocessTrainingData ( )
pure virtual

trains all two-class SVM's with the whole data set.

This must be done before calling doFullCV() of doPartialCV(). If Kernel_MATRIX is used, you must call updateKernelCache() before

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ doFullCV()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual int svt::BasicCVAdapter< FV, PROBLEM, STDATA >::doFullCV ( const std::vector< int > &  subsetIndexByUID,
std::vector< double > &  predictedClassLabelByUID 
)
pure virtual

do a full cross validation.

Just calls doPartialCV() for each subset index and collects the results. See there for the preconditions

Parameters
subsetIndexByUIDtells for each feature vector (identified by its uniqueID) to which subset it belongs. If the uniqueIDs of your feature vectors are consecutive numbers from 0...nFeatureVectors-1, then you can create this array with generateSortedSubsets() or generateShuffledSubsets()
predictedClassLabelByUID(output) stores the predicted class label for each feature vector. Will be resized to same size as subsetIndexByUID
Returns
total number of correct classifications

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ setClassificationDelta()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::setClassificationDelta ( double  d)
pure virtual

◆ classificationDelta()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual double svt::BasicCVAdapter< FV, PROBLEM, STDATA >::classificationDelta ( ) const
pure virtual

◆ setStoreClassificationDetailsFlag()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::setStoreClassificationDetailsFlag ( bool  f)
pure virtual

◆ getStoreClassificationDetailsFlag()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual bool svt::BasicCVAdapter< FV, PROBLEM, STDATA >::getStoreClassificationDetailsFlag ( ) const
pure virtual

◆ saveStatistics() [1/2]

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::saveStatistics ( STDATA &  statistics,
int  detailLevel = 1 
)
pure virtual

save cross validation statistics.

Parameters
statisticsstructured data, where to store the statistics
detailLevel0: nothing, 1: training statistics from last call to doFullCV()

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().

◆ saveStatistics() [2/2]

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual void svt::BasicCVAdapter< FV, PROBLEM, STDATA >::saveStatistics ( StDataASCII statistics,
int  detailLevel = 1 
)
pure virtual

◆ classificationDetailsByUID()

template<typename FV, typename PROBLEM = GroupedTrainingData<FV>, typename STDATA = StDataASCII>
virtual const std::vector< StDataASCII>& svt::BasicCVAdapter< FV, PROBLEM, STDATA >::classificationDetailsByUID ( ) const
pure virtual

get classification details for each uid from last full CV or parital CV.

Use setStoreClassificationDetailsFlag() before preprocessTrainingData() to enable storage of these infos during cross validation

Returns
vector with classification details for each UID

Implemented in svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >.

Referenced by svt::BasicCVAdapter< FV, PROBLEM, STDATA >::~BasicCVAdapter().


The documentation for this class was generated from the following file: