31 #ifndef GRT_LDA_HEADER
32 #define GRT_LDA_HEADER
34 #include "../../CoreModules/Classifier.h"
35 #include "../../Util/LUDecomposition.h"
50 UINT getNumDimensions()
const {
return (UINT)weights.size(); }
64 LDA(
bool useScaling=
false,
bool useNullRejection=
true,
double nullRejectionCoeff=10.0);
80 this->models = rhs.models;
97 if( classifier == NULL )
return false;
101 LDA *ptr = (
LDA*)classifier;
103 this->models = ptr->models;
127 virtual bool predict(VectorDouble inputVector);
148 vector< LDAClassModel > getModels(){
if( trained ){
return models; }
return vector< LDAClassModel >(); }
157 MatrixDouble computeBetweenClassScatterMatrix( ClassificationData &data );
158 MatrixDouble computeWithinClassScatterMatrix( ClassificationData &data );
160 vector< LDAClassModel > models;
165 #endif //GRT_LDA_HEADER
LDA(bool useScaling=false, bool useNullRejection=true, double nullRejectionCoeff=10.0)
virtual bool saveModelToFile(string filename) const
virtual bool deepCopyFrom(const Classifier *classifier)
bool copyBaseVariables(const Classifier *classifier)
virtual bool loadModelFromFile(string filename)
virtual bool saveModelToFile(fstream &file) const
LDA & operator=(const LDA &rhs)
string getClassifierType() const
virtual bool predict(VectorDouble inputVector)
virtual bool loadModelFromFile(fstream &file)
virtual bool train(ClassificationData trainingData)