openModeller  Version 1.4.0
PreJackknife.hh
Go to the documentation of this file.
00001 
00027 #ifndef _PRE_JACKKNIFE_
00028 #define _PRE_JACKKNIFE_
00029 
00030 #include "PreAlgorithm.hh"
00031 
00032 #include <openmodeller/Sampler.hh>
00033 #include <openmodeller/Algorithm.hh>
00034 
00038 class dllexp PreJackknife : public PreAlgorithm 
00039 {
00040 public:
00044   PreJackknife();
00045 
00049   ~PreJackknife();
00050 
00051   //Return description about the algorithm
00052   string getDescription() const { return "This technique first generates a model \
00053 to calculate a particular measure (accuracy) for the entire layerset. Then for \
00054 each layer a new model is generated without that particular layer and the accuracy \
00055 is calculated again. All models are trained with the same set of points that are \
00056 randomly selected from the specified occurrence points given the specified proportion, \
00057 and the accuracy is calculated with the remaining testing points. The algorithm can \
00058 also be specified as a parameter."; }
00059 
00060   //Checks if the supplied parameters fits the requirements of PRE algorithm implementation.
00061   //return true if the parameters are OK. false if not.
00062   bool checkParameters( const PreParameters& parameters ) const;
00063 
00064   //Runs the current algorithm implementation.
00065   //return true if OK. false on error.
00066   bool runImplementation();
00067 
00068   //Reset the params state to the params_ state.
00069   void resetState( PreParameters& params );
00070 
00071   //get input parameters
00072   void getAcceptedParameters ( stringMap& info );
00073 
00074   //get output information
00075   void getLayersetResultSpec ( stringMap& info);
00076 
00077   //get output information for each layer
00078   void getLayerResultSpec ( stringMap& info);
00079 
00080 };
00081 
00082 #endif