Add excel to best report of model

This commit is contained in:
2023-10-19 18:12:55 +02:00
parent 64fc97b892
commit 38423048bd
5 changed files with 159 additions and 54 deletions

View File

@@ -29,15 +29,24 @@ argparse::ArgumentParser manageArguments(int argc, char** argv)
catch (...) {
throw runtime_error("Number of folds must be an decimal number");
}});
return program;
}
int main(int argc, char** argv)
{
auto program = manageArguments(argc, argv);
string model, score;
bool build, report, friedman, excel;
double level;
try {
program.parse_args(argc, argv);
auto model = program.get<string>("model");
auto score = program.get<string>("score");
auto build = program.get<bool>("build");
auto report = program.get<bool>("report");
auto friedman = program.get<bool>("friedman");
auto excel = program.get<bool>("excel");
auto level = program.get<double>("level");
model = program.get<string>("model");
score = program.get<string>("score");
build = program.get<bool>("build");
report = program.get<bool>("report");
friedman = program.get<bool>("friedman");
excel = program.get<bool>("excel");
level = program.get<double>("level");
if (model == "" || score == "") {
throw runtime_error("Model and score name must be supplied");
}
@@ -46,11 +55,6 @@ argparse::ArgumentParser manageArguments(int argc, char** argv)
cerr << program;
exit(1);
}
if (excel && model != "any") {
cerr << "Excel ourput can only be used with all models" << endl;
cerr << program;
exit(1);
}
if (!report && !build) {
cerr << "Either build, report or both, have to be selected to do anything!" << endl;
cerr << program;
@@ -62,19 +66,7 @@ argparse::ArgumentParser manageArguments(int argc, char** argv)
cerr << program;
exit(1);
}
return program;
}
int main(int argc, char** argv)
{
auto program = manageArguments(argc, argv);
auto model = program.get<string>("model");
auto score = program.get<string>("score");
auto build = program.get<bool>("build");
auto report = program.get<bool>("report");
auto friedman = program.get<bool>("friedman");
auto excel = program.get<bool>("excel");
auto level = program.get<double>("level");
// Generate report
auto results = platform::BestResults(platform::Paths::results(), score, model, friedman, level);
if (build) {
if (model == "any") {
@@ -88,7 +80,7 @@ int main(int argc, char** argv)
if (model == "any") {
results.reportAll(excel);
} else {
results.reportSingle();
results.reportSingle(excel);
}
}
return 0;