SG++
sgpp::datadriven::LearnerDensityBasedReg Class Reference

Class that implements a regression learner using density estimation on Sparse Grids. More...

#include <LearnerDensityBasedReg.hpp>

Inheritance diagram for sgpp::datadriven::LearnerDensityBasedReg:
sgpp::datadriven::LearnerBase

Public Member Functions

void dumpDensityAtPoint (sgpp::base::DataVector &point, std::string fileName, unsigned int resolution)
 simple dump of the one dimensional density function for a specific data point into file, e.g. More...
 
 LearnerDensityBasedReg (sgpp::datadriven::RegularizationType &regularization, double border=0.)
 Constructor. More...
 
virtual sgpp::base::DataVector predict (sgpp::base::DataMatrix &testDataset)
 Executes a regression test for a given dataset and returns the result. More...
 
virtual LearnerTiming train (sgpp::base::DataMatrix &trainDataset, sgpp::base::DataVector &classes, const sgpp::base::RegularGridConfiguration &GridConfig, const sgpp::solver::SLESolverConfiguration &SolverConfigRefine, const sgpp::solver::SLESolverConfiguration &SolverConfigFinal, const sgpp::base::AdpativityConfiguration &AdaptConfig, bool testAccDuringAdapt, const double lambda)
 Learning a dataset with spatially adaptive sparse grids. More...
 
virtual ~LearnerDensityBasedReg ()
 Destructor. More...
 
- Public Member Functions inherited from sgpp::datadriven::LearnerBase
void dumpFunction (std::string tFilename, size_t resolution)
 simple dump of sparse grid function into file, e.g. More...
 
void dumpGrid (std::string tFilename)
 simple dump of grid points into file, e.g. More...
 
virtual double getAccuracy (sgpp::base::DataMatrix &testDataset, const sgpp::base::DataVector &classesReference, const double threshold=0.0)
 compute the accuracy for given testDataset. More...
 
virtual double getAccuracy (const sgpp::base::DataVector &classesComputed, const sgpp::base::DataVector &classesReference, const double threshold=0.0)
 compute the accuracy for given testDataset. More...
 
sgpp::base::DataVectorgetAlpha ()
 
virtual ClassificatorQuality getCassificatorQuality (sgpp::base::DataMatrix &testDataset, const sgpp::base::DataVector &classesReference, const double threshold=0.0)
 compute the quality for given testDataset, classification ONLY! test is automatically called in order to determine the regression values of the current learner More...
 
virtual ClassificatorQuality getCassificatorQuality (const sgpp::base::DataVector &classesComputed, const sgpp::base::DataVector &classesReference, const double threshold=0.0)
 compute the quality for given testDataset, classification ONLY! More...
 
sgpp::base::GridgetGrid ()
 
bool getIsRegression () const
 determines the current mode More...
 
bool getIsVerbose () const
 determines the current verbose mode of learner More...
 
std::vector< std::pair< size_t, double > > getRefinementExecTimes ()
 
 LearnerBase (const bool isRegression, const bool isVerbose=true)
 Constructor. More...
 
 LearnerBase (const LearnerBase &copyMe)
 Copy-Constructor. More...
 
virtual void multTranspose (sgpp::base::DataMatrix &dataset, sgpp::base::DataVector &multiplier, sgpp::base::DataVector &result)
 
virtual void predict (sgpp::base::DataMatrix &testDataset, sgpp::base::DataVector &classesComputed)
 executes a Regression test for a given dataset and returns the result More...
 
void setIsVerbose (const bool isVerbose)
 sets the current verbose mode of learner More...
 
void setReuseCoefficients (bool reuseCoefficients)
 
void setSolverVerbose (bool solverVerbose)
 
void store (std::string tGridFilename, std::string tAlphaFilename)
 store the grid and its current coefficients into files for further usage. More...
 
virtual LearnerTiming train (sgpp::base::DataMatrix &trainDataset, sgpp::base::DataVector &classes, const sgpp::base::RegularGridConfiguration &GridConfig, const sgpp::solver::SLESolverConfiguration &SolverConfigRefine, const sgpp::solver::SLESolverConfiguration &SolverConfigFinal, const sgpp::base::AdpativityConfiguration &AdaptConfig, bool testAccDuringAdapt, const double lambdaRegularization, sgpp::base::DataMatrix *testDataset=nullptr, sgpp::base::DataVector *testClasses=nullptr)
 Learning a dataset with spatially adaptive sparse grids. More...
 
LearnerTiming train (sgpp::base::DataMatrix &trainDataset, sgpp::base::DataVector &classes, const sgpp::base::RegularGridConfiguration &GridConfig, const sgpp::solver::SLESolverConfiguration &SolverConfig, const double lambdaRegularization)
 Learning a dataset with regular sparse grids. More...
 
virtual ~LearnerBase ()
 Destructor. More...
 

Protected Member Functions

std::unique_ptr< sgpp::datadriven::DMSystemMatrixBasecreateDMSystem (sgpp::base::DataMatrix &trainDataset, double lambda) override
 inherited from LearnerBase, but not used More...
 
- Protected Member Functions inherited from sgpp::datadriven::LearnerBase
virtual void InitializeGrid (const sgpp::base::RegularGridConfiguration &GridConfig)
 Initialize the grid and its coefficients. More...
 
virtual void postProcessing (const sgpp::base::DataMatrix &trainDataset, const sgpp::solver::SLESolverType &solver, const size_t numNeededIterations)
 Hook-Method for post-processing after each refinement learning. More...
 
virtual void preProcessing ()
 Hook-Method for pre-processing before starting learning. More...
 

Protected Attributes

double border
 border for normalization of the class vector More...
 
std::unique_ptr< sgpp::base::OperationMatrixC
 regularization operator More...
 
sgpp::datadriven::RegularizationType CMode
 regularization mode More...
 
double maxValue
 maximum value (used for de-normalization) More...
 
double minValue
 minimum value (used for de-normalization) More...
 
- Protected Attributes inherited from sgpp::datadriven::LearnerBase
std::unique_ptr< sgpp::base::DataVectoralpha
 the grid's coefficients More...
 
size_t currentRefinementStep
 the current refinment step during training More...
 
double execTime
 execution time More...
 
std::vector< std::pair< size_t, double > > ExecTimeOnStep
 
double GByte
 number of transferred Gbytes More...
 
double GFlop
 number of executed Floating Point operations More...
 
std::unique_ptr< sgpp::base::Gridgrid
 sparse grid object More...
 
bool isRegression
 is regression selected More...
 
bool isTrained
 is the grid trained More...
 
bool isVerbose
 is verbose output enabled More...
 
bool reuseCoefficients
 shall the coefficients be reused between refinement steps More...
 
bool solverVerbose
 sets the verbose option for the solver More...
 
double stepExecTime
 execution time for current refinement to calculate the GFlops at the current timestep only otherwise accumulated GFlops (all refinement steps) are calculated More...
 
double stepGByte
 number of transferred Gbytes in the current refinement step More...
 
double stepGFlop
 number of executed Floating Point operations in the current refinement step More...
 

Detailed Description

Class that implements a regression learner using density estimation on Sparse Grids.

Constructor & Destructor Documentation

sgpp::datadriven::LearnerDensityBasedReg::LearnerDensityBasedReg ( sgpp::datadriven::RegularizationType regularization,
double  border = 0. 
)
explicit

Constructor.

Parameters
regularizationregularization type
borderoffset for the normalization of the class data
sgpp::datadriven::LearnerDensityBasedReg::~LearnerDensityBasedReg ( )
virtual

Destructor.

Member Function Documentation

std::unique_ptr< datadriven::DMSystemMatrixBase > sgpp::datadriven::LearnerDensityBasedReg::createDMSystem ( sgpp::base::DataMatrix trainDataset,
double  lambda 
)
overrideprotectedvirtual

inherited from LearnerBase, but not used

Implements sgpp::datadriven::LearnerBase.

void sgpp::datadriven::LearnerDensityBasedReg::dumpDensityAtPoint ( sgpp::base::DataVector point,
std::string  fileName,
unsigned int  resolution 
)

simple dump of the one dimensional density function for a specific data point into file, e.g.

used to plot with gnuplot.

Parameters
pointpoint for which the one dimensional density function is computed
fileNamefilename to store the dump to
resolutionresolution of function plot

References sgpp::datadriven::LearnerBase::alpha, sgpp::op_factory::createOperationDensityConditional(), sgpp::datadriven::OperationDensityConditional::doConditional(), sgpp::base::DataVector::get(), sgpp::base::DataVector::getSize(), sgpp::datadriven::LearnerBase::grid, and sgpp::base::GridPrinter::printGrid().

LearnerTiming sgpp::datadriven::LearnerDensityBasedReg::train ( sgpp::base::DataMatrix trainDataset,
sgpp::base::DataVector classes,
const sgpp::base::RegularGridConfiguration GridConfig,
const sgpp::solver::SLESolverConfiguration SolverConfigRefine,
const sgpp::solver::SLESolverConfiguration SolverConfigFinal,
const sgpp::base::AdpativityConfiguration AdaptConfig,
bool  testAccDuringAdapt,
const double  lambda 
)
virtual

Learning a dataset with spatially adaptive sparse grids.

Parameters
trainDatasetthe training dataset
classesclasses corresponding to the training dataset
GridConfigconfiguration of the regular start grid
SolverConfigRefineconfiguration of the SLE solver during the adaptive refinements of the grid
SolverConfigFinalconfiguration of the final SLE solving step on the refined grid
AdaptConfigconfiguration of the adaptivity strategy
testAccDuringAdaptset to true if the training accuracy should be determined in evert refinement step
lambdaregularization parameter lambda

References sgpp::datadriven::LearnerBase::alpha, sgpp::solver::BiCGSTAB, border, C, sgpp::solver::CG, CMode, sgpp::op_factory::createOperationIdentity(), sgpp::op_factory::createOperationLaplace(), sgpp::base::RegularGridConfiguration::dim_, sgpp::solver::SLESolverConfiguration::eps_, sgpp::datadriven::LearnerBase::execTime, sgpp::datadriven::LearnerBase::GByte, sgpp::datadriven::DensitySystemMatrix::generateb(), sgpp::datadriven::LearnerBase::getAccuracy(), sgpp::base::DataMatrix::getNcols(), sgpp::base::DataMatrix::getNrows(), sgpp::base::DataVector::getPointer(), sgpp::base::DataMatrix::getPointer(), sgpp::base::DataVector::getSize(), sgpp::datadriven::LearnerBase::GFlop, sgpp::datadriven::LearnerBase::grid, sgpp::datadriven::Identity, sgpp::datadriven::LearnerBase::InitializeGrid(), sgpp::datadriven::LearnerBase::isTrained, sgpp::datadriven::LearnerBase::isVerbose, sgpp::datadriven::Laplace, sgpp::base::RegularGridConfiguration::level_, m, sgpp::solver::SLESolverConfiguration::maxIterations_, maxValue, sgpp::base::DataVector::minmax(), minValue, sgpp::base::AdpativityConfiguration::noPoints_, sgpp::base::DataVector::normalize(), sgpp::base::AdpativityConfiguration::numRefinements_, sgpp::datadriven::LearnerBase::postProcessing(), sgpp::datadriven::LearnerTiming::timeComplete_, sgpp::solver::SLESolverConfiguration::type_, and sgpp::base::RegularGridConfiguration::type_.

Member Data Documentation

double sgpp::datadriven::LearnerDensityBasedReg::border
protected

border for normalization of the class vector

Referenced by predict(), and train().

std::unique_ptr<sgpp::base::OperationMatrix> sgpp::datadriven::LearnerDensityBasedReg::C
protected

regularization operator

Referenced by train().

sgpp::datadriven::RegularizationType sgpp::datadriven::LearnerDensityBasedReg::CMode
protected

regularization mode

Referenced by train().

double sgpp::datadriven::LearnerDensityBasedReg::maxValue
protected

maximum value (used for de-normalization)

Referenced by predict(), and train().

double sgpp::datadriven::LearnerDensityBasedReg::minValue
protected

minimum value (used for de-normalization)

Referenced by predict(), and train().


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