iRoCS Toolbox  1.1.0
Public Types | Public Member Functions
svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE > Class Template Reference

#include <BasicCVAdapterTempl.hh>

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

Public Types

typedef FV FV_TYPE
 
typedef PROBLEM PROBLEM_TYPE
 

Public Member Functions

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

Detailed Description

template<typename FV, typename PROBLEM, typename STDATA, typename SVMTYPE>
class svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >

Definition at line 70 of file BasicCVAdapterTempl.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
inherited

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
inherited

Definition at line 80 of file BasicCVAdapter.hh.

Member Function Documentation

◆ setProgressReporter()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::setProgressReporter ( ProgressReporter pr)
inlinevirtual

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 73 of file BasicCVAdapterTempl.hh.

◆ loadParameters() [1/3]

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::loadParameters ( STDATA &  stData)
inlinevirtual

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 78 of file BasicCVAdapterTempl.hh.

◆ loadParameters() [2/3]

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::loadParameters ( StDataASCII stData)
inlinevirtual

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 83 of file BasicCVAdapterTempl.hh.

◆ loadParameters() [3/3]

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::loadParameters ( StDataCmdLine stData)
inlinevirtual

Same as loadParameters, but for Parameters from command line.

The StDataCmdLine keeps track of unused parameters

Parameters

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 88 of file BasicCVAdapterTempl.hh.

◆ saveParameters() [1/2]

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::saveParameters ( STDATA &  stData)
inlinevirtual

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 93 of file BasicCVAdapterTempl.hh.

◆ saveParameters() [2/2]

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::saveParameters ( StDataASCII stData)
inlinevirtual

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 98 of file BasicCVAdapterTempl.hh.

◆ saveOnlyKernelParameters()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::saveOnlyKernelParameters ( StDataASCII stData)
inlinevirtual

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 103 of file BasicCVAdapterTempl.hh.

◆ setTrainingData()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::setTrainingData ( const PROBLEM *  problem)
inlinevirtual

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 108 of file BasicCVAdapterTempl.hh.

◆ trainingData()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual const PROBLEM* svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::trainingData ( ) const
inlinevirtual

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

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 113 of file BasicCVAdapterTempl.hh.

◆ updateKernelCache()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::updateKernelCache ( )
inlinevirtual

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 118 of file BasicCVAdapterTempl.hh.

◆ clearKernelCache()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::clearKernelCache ( )
inlinevirtual

call clearKernelCache() of selected svm.

Parameters

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 123 of file BasicCVAdapterTempl.hh.

◆ preprocessTrainingData()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::preprocessTrainingData ( )
inlinevirtual

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 129 of file BasicCVAdapterTempl.hh.

◆ doFullCV()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual int svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::doFullCV ( const std::vector< int > &  subsetIndexByUID,
std::vector< double > &  predictedClassLabelByUID 
)
inlinevirtual

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 134 of file BasicCVAdapterTempl.hh.

◆ setClassificationDelta()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::setClassificationDelta ( double  d)
inlinevirtual

◆ classificationDelta()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual double svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::classificationDelta ( ) const
inlinevirtual

◆ setStoreClassificationDetailsFlag()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::setStoreClassificationDetailsFlag ( bool  f)
inlinevirtual

◆ getStoreClassificationDetailsFlag()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual bool svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::getStoreClassificationDetailsFlag ( ) const
inlinevirtual

◆ saveStatistics() [1/2]

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::saveStatistics ( STDATA &  statistics,
int  detailLevel = 1 
)
inlinevirtual

save cross validation statistics.

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 160 of file BasicCVAdapterTempl.hh.

◆ saveStatistics() [2/2]

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual void svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::saveStatistics ( StDataASCII statistics,
int  detailLevel = 1 
)
inlinevirtual

◆ classificationDetailsByUID()

template<typename FV , typename PROBLEM , typename STDATA , typename SVMTYPE >
virtual const std::vector< StDataASCII>& svt::BasicCVAdapterTempl< FV, PROBLEM, STDATA, SVMTYPE >::classificationDetailsByUID ( ) const
inlinevirtual

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

Implements svt::BasicCVAdapter< FV, PROBLEM, STDATA >.

Definition at line 172 of file BasicCVAdapterTempl.hh.


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