31 #ifndef GRT_MLBASE_HEADER
32 #define GRT_MLBASE_HEADER
35 #include "../DataStructures/UnlabelledData.h"
36 #include "../DataStructures/ClassificationData.h"
37 #include "../DataStructures/RegressionData.h"
38 #include "../DataStructures/TimeSeriesClassificationData.h"
39 #include "../DataStructures/TimeSeriesClassificationDataStream.h"
43 #define DEFAULT_NULL_LIKELIHOOD_VALUE 0
44 #define DEFAULT_NULL_DISTANCE_VALUE 0
200 virtual bool predict(VectorDouble inputVector);
208 virtual bool predict_(VectorDouble &inputVector);
234 virtual bool map(VectorDouble inputVector);
242 virtual bool map_(VectorDouble &inputVector);
251 virtual bool reset();
259 virtual bool clear();
267 virtual bool print()
const;
275 virtual bool save(
const string filename)
const;
283 virtual bool load(
const string filename);
326 virtual bool getModel(ostream &stream)
const;
339 double inline scale(
const double &x,
const double &minSource,
const double &maxSource,
const double &minTarget,
const double &maxTarget,
const bool constrain=
false){
341 if( x <= minSource )
return minTarget;
342 if( x >= maxSource )
return maxTarget;
344 if( minSource == maxSource )
return minTarget;
345 return (((x-minSource)*(maxTarget-minTarget))/(maxSource-minSource))+minTarget;
671 UINT numInputDimensions;
672 UINT numOutputDimensions;
673 UINT numTrainingIterationsToConverge;
676 UINT validationSetSize;
679 double rootMeanSquaredTrainingError;
680 double totalSquaredTrainingError;
681 bool useValidationSet;
682 bool randomiseTrainingOrder;
684 vector< TrainingResult > trainingResults;
690 enum BaseTypes{BASE_TYPE_NOT_SET=0,CLASSIFIER,REGRESSIFIER,CLUSTERER};
695 #endif //GRT_MLBASE_HEADER
vector< TrainingResult > getTrainingResults() const
virtual bool saveModelToFile(string filename) const
UINT getMaxNumEpochs() const
virtual bool getModel(ostream &stream) const
double getRootMeanSquaredTrainingError() const
virtual bool print() const
bool setMaxNumEpochs(const UINT maxNumEpochs)
virtual bool loadModelFromFile(string filename)
bool loadBaseSettingsFromFile(fstream &file)
bool saveBaseSettingsToFile(fstream &file) const
bool getModelTrained() const
bool copyMLBaseVariables(const MLBase *mlBase)
virtual bool train(ClassificationData trainingData)
UINT getNumInputFeatures() const
bool setMinChange(const double minChange)
UINT getNumInputDimensions() const
bool getRandomiseTrainingOrder() const
bool enableScaling(bool useScaling)
bool setValidationSetSize(const UINT validationSetSize)
double getLearningRate() const
double getMinChange() const
virtual bool map_(VectorDouble &inputVector)
double getTotalSquaredTrainingError() const
bool setRandomiseTrainingOrder(const bool randomiseTrainingOrder)
bool registerTrainingResultsObserver(Observer< TrainingResult > &observer)
double scale(const double &x, const double &minSource, const double &maxSource, const double &minTarget, const double &maxTarget, const bool constrain=false)
bool notifyTrainingResultsObservers(const TrainingResult &data)
virtual bool predict(VectorDouble inputVector)
UINT getMinNumEpochs() const
virtual bool predict_(VectorDouble &inputVector)
This file contains the GRTBase class. This is the core base class for all the GRT modules...
bool setUseValidationSet(const bool useValidationSet)
bool getIsBaseTypeClusterer() const
MLBase * getMLBasePointer()
bool removeAllTestObservers()
UINT getValidationSetSize() const
virtual bool map(VectorDouble inputVector)
bool registerTestResultsObserver(Observer< TestInstanceResult > &observer)
bool getIsBaseTypeRegressifier() const
virtual bool load(const string filename)
UINT getNumOutputDimensions() const
bool removeTrainingResultsObserver(const Observer< TrainingResult > &observer)
UINT getNumTrainingIterationsToConverge() const
bool removeAllTrainingObservers()
bool setLearningRate(double learningRate)
bool getIsBaseTypeClassifier() const
virtual string getModelAsString() const
bool notifyTestResultsObservers(const TestInstanceResult &data)
bool getUseValidationSet() const
bool setMinNumEpochs(const UINT minNumEpochs)
virtual bool train_(ClassificationData &trainingData)
bool getScalingEnabled() const
bool removeTestResultsObserver(const Observer< TestInstanceResult > &observer)
virtual bool save(const string filename) const