SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
Learner Classification Test

This represents a small example how to use sparse grids for classification problems.

It uses the artificial Ripley dataset.

getLearner creates a sparse grid classification learner.

Parameters
dimensionthe number of dimensions.
Returns
a classification for dimension dimension
sgpp::datadriven::ClassificationLearner getLearner(size_t dimension) {
gridConfig.dim_ = dimension;
gridConfig.level_ = 3;
gridConfig.type_ = sgpp::base::GridType::ModLinear;
auto solverConfig = sgpp::solver::SLESolverConfiguration();
solverConfig.type_ = sgpp::solver::SLESolverType::CG;
solverConfig.maxIterations_ = 500;
solverConfig.eps_ = 1e-8;
auto regularizationConfig = sgpp::datadriven::RegularizationConfiguration();
regularizationConfig.type_ = sgpp::datadriven::RegularizationType::Diagonal;
regularizationConfig.lambda_ = 0.00001;
regularizationConfig.exponentBase_ = 0.25;
solverConfig, regularizationConfig);
}
The ClassificationLearner class Solves a classification problem.
Definition ClassificationLearner.hpp:29
sgpp::base::AdaptivityConfiguration adaptivityConfig
Definition multHPX.cpp:37
structure that can be used by application to define adaptivity strategies
Definition Grid.hpp:143
size_t numRefinementPoints_
max. number of points to be refined
Definition Grid.hpp:157
size_t numCoarseningPoints_
max. number of points to be coarsened
Definition Grid.hpp:159
size_t numRefinements_
number of refinements
Definition Grid.hpp:145
structure that can be used by applications to cluster regular grid information
Definition Grid.hpp:111
Definition RegularizationConfiguration.hpp:17
Definition TypesSolver.hpp:19

main Creates a sparse grid classification learner and prints the training accuracy for the ripley dataset.

Returns
int main(int argc, char** argv) {
const auto filenameTrain = std::string("../datasets/ripley/ripleyGarcke.train.arff");
auto dataTrain = sgpp::datadriven::ARFFTools::readARFFFromFile(filenameTrain);
std::cout << "Read file " << filenameTrain << "." << std::endl;
auto xTrain = dataTrain.getData();
auto yTrain = dataTrain.getTargets();
const auto dimensions = dataTrain.getDimension();
auto learner = getLearner(dimensions);
learner.train(xTrain, yTrain);
const auto accuracy = learner.getAccuracy(xTrain, yTrain);
std::cout << "Best config got a training acc of " << accuracy << "!" << std::endl;
}
static Dataset readARFFFromFile(const std::string &filename, bool hasTargets=true, size_t instanceCutoff=-1, std::vector< size_t > selectedCols=std::vector< size_t >(), std::vector< double > selectedTargets=std::vector< double >())
Wrapper from input type: File.
Definition ARFFTools.cpp:48
int main()
Definition densityMultiplication.cpp:22