Xmipp  v3.23.11-Nereus
Public Types | Public Member Functions | Protected Attributes | List of all members
ClassificationAlgorithm< DSClass > Class Template Referenceabstract

#include <base_algorithm.h>

Collaboration diagram for ClassificationAlgorithm< DSClass >:
Collaboration graph
[legend]

Public Types

typedef DSClass DS
 
typedef DS::TS TS
 

Public Member Functions

 ClassificationAlgorithm (const std::string &_ID="")
 
virtual ~ClassificationAlgorithm ()
 
virtual void train (DS &_ds, const TS &_examples) const
 
virtual void train (DS &_ds, TS &_examples) const
 
virtual double test (const DS &_ds, const TS &_examples) const =0
 
virtual void printSelf (std::ostream &_os) const
 
virtual const std::string & setID () const
 
virtual std::string & setID ()
 
void setListener (BaseListener *_listener)
 

Protected Attributes

std::string ID
 
BaseListenerlistener
 

Detailed Description

template<class DSClass>
class ClassificationAlgorithm< DSClass >

This is the parent class for all algorithms that can be trained and applied in order to classify a set of data. A xmipp Algorithm object must have: 1) a train method that accepts a set of examples 2) an apply method that accepts an example and classifies it

Definition at line 54 of file base_algorithm.h.

Member Typedef Documentation

◆ DS

template<class DSClass>
typedef DSClass ClassificationAlgorithm< DSClass >::DS

Definition at line 58 of file base_algorithm.h.

◆ TS

template<class DSClass>
typedef DS::TS ClassificationAlgorithm< DSClass >::TS

Definition at line 59 of file base_algorithm.h.

Constructor & Destructor Documentation

◆ ClassificationAlgorithm()

template<class DSClass>
ClassificationAlgorithm< DSClass >::ClassificationAlgorithm ( const std::string &  _ID = "")
inline

Constructor. Parameter: _ID an ID string unique for each algorithm class

Definition at line 65 of file base_algorithm.h.

65  : ID(_ID)
66  {};

◆ ~ClassificationAlgorithm()

template<class DSClass>
virtual ClassificationAlgorithm< DSClass >::~ClassificationAlgorithm ( )
inlinevirtual

Destructor. The default destructor

Definition at line 72 of file base_algorithm.h.

73  {};

Member Function Documentation

◆ printSelf()

template<class DSClass>
virtual void ClassificationAlgorithm< DSClass >::printSelf ( std::ostream &  _os) const
inlinevirtual

Print itself on standard output

Reimplemented in SOM, and FuzzyCMeans.

Definition at line 106 of file base_algorithm.h.

107  {
108  _os << "xmippBaseAlgo" << std::endl; // to identify it as an algorith
109  _os << ID << std::endl;
110  };

◆ setID() [1/2]

template<class DSClass>
virtual const std::string& ClassificationAlgorithm< DSClass >::setID ( ) const
inlinevirtual

Set ID (returns a const reference to the ID)

Definition at line 114 of file base_algorithm.h.

115  {
116  return ID;
117  };

◆ setID() [2/2]

template<class DSClass>
virtual std::string& ClassificationAlgorithm< DSClass >::setID ( )
inlinevirtual

Set ID (returns a non-const reference to the ID)

Definition at line 121 of file base_algorithm.h.

122  {
123  return ID;
124  };

◆ setListener()

template<class DSClass>
void ClassificationAlgorithm< DSClass >::setListener ( BaseListener _listener)
inline

Defines Listener class

Definition at line 129 of file base_algorithm.h.

130  {
131  listener = _listener;
132  };

◆ test()

template<class DSClass>
virtual double ClassificationAlgorithm< DSClass >::test ( const DS _ds,
const TS _examples 
) const
pure virtual

Method to test the algorithm. Note that this method is pure virtual, so it must be defined in every xmipp descendant class. Parameter: _ds Data structure to train. Const because its not affected by test Parameter: _examples A training set with the training examples.

Returns
The test error, that is, error obtained for the test file. Might be MSE error, or success in classification error, or whatever; just be consistent for each algorithm

◆ train() [1/2]

template<class DSClass>
virtual void ClassificationAlgorithm< DSClass >::train ( DS _ds,
const TS _examples 
) const
inlinevirtual

Method to train the algorithm. Note that this method is pure virtual, so it ust be defined in every xmipp descendant class. Parameter: _ds Data structure to train Parameter: _examples A training set with the training examples.

Definition at line 81 of file base_algorithm.h.

82  {};

◆ train() [2/2]

template<class DSClass>
virtual void ClassificationAlgorithm< DSClass >::train ( DS _ds,
TS _examples 
) const
inlinevirtual

Method to train the algorithm. Note that this method is pure virtual, so it ust be defined in every xmipp descendant class. Parameter: _ds Data structure to train Parameter: _examples A training set with the training examples.

Definition at line 90 of file base_algorithm.h.

91  {};

Member Data Documentation

◆ ID

template<class DSClass>
std::string ClassificationAlgorithm< DSClass >::ID
protected

Definition at line 132 of file base_algorithm.h.

◆ listener

template<class DSClass>
BaseListener* ClassificationAlgorithm< DSClass >::listener
protected

Definition at line 136 of file base_algorithm.h.


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