This example demonstrates sparse grid regression learning.
gridSearch performs a hyper-parameter grid search over configs using a holdout validation set.
main is an example for the RegressionLearner. It performs a grid search for the best hyper-parameter for the Friedman3 dataset using the diagonal Tikhonov regularization method.
int main(
int argc,
char** argv) {
const auto filenameTrain = std::string("../datasets/friedman/friedman3_10k_train.arff");
const auto filenameValidation = std::string("../datasets/friedman/friedman3_10k_validation.arff");
const auto filenameTest = std::string("../datasets/friedman/friedman3_10k_test.arff");
std::cout << "Read file " << filenameTrain << "." << std::endl;
auto xTrain = dataTrain.getData();
auto yTrain = dataTrain.getTargets();
const auto dimensions = dataTrain.getDimension();
std::cout << "Read file " << filenameValidation << "." << std::endl;
auto xValidation = dataValidation.getData();
auto yValidation = dataValidation.getTargets();
const auto configs = getConfigs();
const auto bestConfig = gridSearch(configs, dimensions, xTrain, yTrain, xValidation, yValidation);
std::cout << "Read file " << filenameTest << "." << std::endl;
auto xTest = dataTest.getData();
auto yTest = dataTest.getTargets();
auto learner = getLearner(dimensions, bestConfig);
learner.train(xTrain, yTrain);
const auto MSETest = learner.getMSE(xTest, yTest);
std::cout << "Best config got a testing MSE of " << MSETest << "!" << std::endl;
}
int main()
Definition densityMultiplication.cpp:22