/** * @file LinRegression.h * @brief Algorithm for linear regression * @author Frank Prüfer * @date 08/13/2013 */ #ifndef LINREGRESSIONINCLUDE #define LINREGRESSIONINCLUDE #include "vislearning/regression/regressionbase/RegressionAlgorithm.h" #include #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" namespace OBJREC { class LinRegression : public RegressionAlgorithm { protected: /** vector containing all model parameters */ std::vector modelParams; /** dimensionality of the model (i.e. number of model parameters) */ uint dim; public: /** simple constructor */ LinRegression(); /** constructor, specifying the dimensionality of the model*/ LinRegression(uint dimension); /** copy constructor */ LinRegression ( const LinRegression & src ); /** simple destructor */ virtual ~LinRegression(); /** clone function */ LinRegression* clone (void) const; /** method to learn model parameters */ void teach ( const NICE::VVector & x, const NICE::Vector & y ); /** returns model parameters as a vector */ std::vector getModelParams(); /** method to predict function value */ double predict ( const NICE::Vector & x ); }; } //namespace #endif