Complete file output in ResultsDataset & ReportDataset
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
#include "common/Paths.h"
|
#include "common/Paths.h"
|
||||||
#include "CommandParser.h"
|
#include "CommandParser.h"
|
||||||
#include "ManageResults.h"
|
#include "ManageResults.h"
|
||||||
//#include "reports/DatasetsConsole.h"
|
#include "reports/DatasetsConsole.h"
|
||||||
#include "reports/ReportConsole.h"
|
#include "reports/ReportConsole.h"
|
||||||
#include "reports/ReportExcel.h"
|
#include "reports/ReportExcel.h"
|
||||||
#include "reports/ReportExcelCompared.h"
|
#include "reports/ReportExcelCompared.h"
|
||||||
@@ -114,10 +114,10 @@ namespace platform {
|
|||||||
}
|
}
|
||||||
void ManageResults::list_datasets(const std::string& status_message, const std::string& status_color)
|
void ManageResults::list_datasets(const std::string& status_message, const std::string& status_color)
|
||||||
{
|
{
|
||||||
// auto report = DatasetsConsole();
|
auto report = DatasetsConsole();
|
||||||
// report.list_datasets();
|
report.list_datasets();
|
||||||
// auto output = report.getOutput();
|
auto output = report.getOutput();
|
||||||
// paginator[static_cast<int>(output_type)].setTotal(report.getNumLines());
|
paginator[static_cast<int>(output_type)].setTotal(report.getNumLines());
|
||||||
//
|
//
|
||||||
// header
|
// header
|
||||||
//
|
//
|
||||||
|
@@ -18,10 +18,10 @@ namespace platform {
|
|||||||
}
|
}
|
||||||
void DatasetsConsole::list_datasets()
|
void DatasetsConsole::list_datasets()
|
||||||
{
|
{
|
||||||
|
output.str("");
|
||||||
auto datasets = platform::Datasets(false, platform::Paths::datasets());
|
auto datasets = platform::Datasets(false, platform::Paths::datasets());
|
||||||
locale mylocale(std::cout.getloc(), new separated_datasets);
|
auto loc = std::locale("es_ES");
|
||||||
locale::global(mylocale);
|
output.imbue(loc);
|
||||||
output.imbue(mylocale);
|
|
||||||
output << Colors::GREEN() << " # Dataset Sampl. Feat. Cls Balance" << std::endl;
|
output << Colors::GREEN() << " # Dataset Sampl. Feat. Cls Balance" << std::endl;
|
||||||
std::string balanceBars = std::string(DatasetsConsole::BALANCE_LENGTH, '=');
|
std::string balanceBars = std::string(DatasetsConsole::BALANCE_LENGTH, '=');
|
||||||
output << "=== ============================== ====== ===== === " << balanceBars << std::endl;
|
output << "=== ============================== ====== ===== === " << balanceBars << std::endl;
|
||||||
|
@@ -7,11 +7,6 @@
|
|||||||
namespace platform {
|
namespace platform {
|
||||||
using json = nlohmann::json;
|
using json = nlohmann::json;
|
||||||
|
|
||||||
struct separated_datasets : numpunct<char> {
|
|
||||||
char do_decimal_point() const { return ','; }
|
|
||||||
char do_thousands_sep() const { return '.'; }
|
|
||||||
std::string do_grouping() const { return "\03"; }
|
|
||||||
};
|
|
||||||
|
|
||||||
class DatasetsConsole {
|
class DatasetsConsole {
|
||||||
public:
|
public:
|
||||||
|
@@ -6,13 +6,6 @@
|
|||||||
#include <xlsxwriter.h>
|
#include <xlsxwriter.h>
|
||||||
|
|
||||||
namespace platform {
|
namespace platform {
|
||||||
struct separated : std::numpunct<char> {
|
|
||||||
char do_decimal_point() const { return ','; }
|
|
||||||
|
|
||||||
char do_thousands_sep() const { return '.'; }
|
|
||||||
|
|
||||||
std::string do_grouping() const { return "\03"; }
|
|
||||||
};
|
|
||||||
class ExcelFile {
|
class ExcelFile {
|
||||||
public:
|
public:
|
||||||
ExcelFile();
|
ExcelFile();
|
||||||
|
@@ -60,9 +60,8 @@ namespace platform {
|
|||||||
|
|
||||||
void ReportExcel::header()
|
void ReportExcel::header()
|
||||||
{
|
{
|
||||||
std::locale mylocale(std::cout.getloc(), new separated);
|
auto loc = std::locale("es_ES");
|
||||||
std::locale::global(mylocale);
|
std::cout.imbue(loc);
|
||||||
std::cout.imbue(mylocale);
|
|
||||||
std::stringstream oss;
|
std::stringstream oss;
|
||||||
std::string message = data["model"].get<std::string>() + " ver. " + data["version"].get<std::string>() + " " +
|
std::string message = data["model"].get<std::string>() + " ver. " + data["version"].get<std::string>() + " " +
|
||||||
data["language"].get<std::string>() + " ver. " + data["language_version"].get<std::string>() +
|
data["language"].get<std::string>() + " ver. " + data["language_version"].get<std::string>() +
|
||||||
|
@@ -6,6 +6,8 @@ namespace platform {
|
|||||||
void ResultsDatasetsConsole::list_results(const std::string& dataset, const std::string& score, const std::string& model)
|
void ResultsDatasetsConsole::list_results(const std::string& dataset, const std::string& score, const std::string& model)
|
||||||
{
|
{
|
||||||
output.str("");
|
output.str("");
|
||||||
|
auto loc = std::locale("es_ES");
|
||||||
|
output.imbue(loc);
|
||||||
auto results = platform::ResultsDataset(dataset, model, score);
|
auto results = platform::ResultsDataset(dataset, model, score);
|
||||||
results.load();
|
results.load();
|
||||||
results.sortModel();
|
results.sortModel();
|
||||||
@@ -16,8 +18,16 @@ namespace platform {
|
|||||||
int maxModel = results.maxModelSize();
|
int maxModel = results.maxModelSize();
|
||||||
int maxHyper = results.maxHyperSize();
|
int maxHyper = results.maxHyperSize();
|
||||||
double maxResult = results.maxResultScore();
|
double maxResult = results.maxResultScore();
|
||||||
|
//
|
||||||
// Build data for the Report
|
// Build data for the Report
|
||||||
json data = json::object();
|
//
|
||||||
|
data = json::object();
|
||||||
|
data["dataset"] = dataset;
|
||||||
|
data["score"] = score;
|
||||||
|
data["model"] = model;
|
||||||
|
data["lengths"]["maxModel"] = maxModel;
|
||||||
|
data["lengths"]["maxHyper"] = maxHyper;
|
||||||
|
data["maxResult"] = maxResult;
|
||||||
data["results"] = json::array();
|
data["results"] = json::array();
|
||||||
data["max_models"] = json::object(); // Max score per model
|
data["max_models"] = json::object(); // Max score per model
|
||||||
for (const auto& result : results) {
|
for (const auto& result : results) {
|
||||||
@@ -27,7 +37,6 @@ namespace platform {
|
|||||||
}
|
}
|
||||||
for (const auto& item : results["results"]) {
|
for (const auto& item : results["results"]) {
|
||||||
if (item["dataset"] == dataset) {
|
if (item["dataset"] == dataset) {
|
||||||
|
|
||||||
// Store data for Excel report
|
// Store data for Excel report
|
||||||
json res = json::object();
|
json res = json::object();
|
||||||
res["date"] = result.getDate();
|
res["date"] = result.getDate();
|
||||||
@@ -65,12 +74,6 @@ namespace platform {
|
|||||||
output << item["hyperparameters"].get<std::string>() << std::endl;
|
output << item["hyperparameters"].get<std::string>() << std::endl;
|
||||||
numLines++;
|
numLines++;
|
||||||
}
|
}
|
||||||
data["dataset"] = dataset;
|
|
||||||
data["score"] = score;
|
|
||||||
data["model"] = model;
|
|
||||||
data["lengths"]["maxModel"] = maxModel;
|
|
||||||
data["lengths"]["maxHyper"] = maxHyper;
|
|
||||||
data["maxResult"] = maxResult;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,7 @@ namespace platform {
|
|||||||
~ResultsDatasetsConsole() = default;
|
~ResultsDatasetsConsole() = default;
|
||||||
std::string getOutput() const { return output.str(); }
|
std::string getOutput() const { return output.str(); }
|
||||||
int getNumLines() const { return numLines; }
|
int getNumLines() const { return numLines; }
|
||||||
json getData() { return data; }
|
json& getData() { return data; }
|
||||||
void list_results(const std::string& dataset, const std::string& score, const std::string& model);
|
void list_results(const std::string& dataset, const std::string& score, const std::string& model);
|
||||||
private:
|
private:
|
||||||
std::stringstream output;
|
std::stringstream output;
|
||||||
|
Reference in New Issue
Block a user