ppforest2 v0.1.0
Projection Pursuit Decision Trees and Random Forests
Loading...
Searching...
No Matches
Presentation.hpp
Go to the documentation of this file.
1
6#pragma once
7
8#include "io/Color.hpp"
9#include "io/Output.hpp"
12#include "stats/Stats.hpp"
13#include "utils/Types.hpp"
14
15#include <nlohmann/json.hpp>
16
17namespace ppforest2::io {
25 struct ModelStats {
29 long peak_rss_bytes = -1;
30
31 double mean_time() const { return tr_times.mean(); }
32
33 double mean_tr_error() const { return tr_error.mean(); }
34
35 double mean_te_error() const { return te_error.mean(); }
36
37 double std_time() const { return stats::sd(tr_times); }
38
39 double std_tr_error() const { return stats::sd(tr_error); }
40
41 double std_te_error() const { return stats::sd(te_error); }
42
44 nlohmann::json to_json() const;
45 };
46
52
65 VariableImportance const& vi,
66 std::vector<std::string> const& feature_names = {},
67 int max_rows = 20);
68
79 stats::ConfusionMatrix const& cm,
80 std::string const& title = "Confusion Matrix",
81 std::vector<std::string> const& group_names = {});
82
91 int vars_percent = -1;
92 bool default_vars = false;
93 bool default_threads = false;
94 bool default_seed = false;
95 std::string training_samples;
96 std::string test_samples;
97 };
98
106 void print_configuration(Output& out, nlohmann::json const& config, ConfigDisplayHints const& hints = {});
107
116 void print_data_summary(Output& out, nlohmann::json const& meta);
117
125 void print_summary(Output& out, nlohmann::json const& model_data, ConfigDisplayHints const& hints = {});
126}
TTY-aware colored terminal output utilities.
Confusion matrix for classification model evaluation.
Quiet-aware output context for CLI subcommands.
Definition Color.hpp:31
void print_variable_importance(Output &out, VariableImportance const &vi, std::vector< std::string > const &feature_names={}, int max_rows=20)
Print a ranked variable importance table to stdout.
void print_results(Output &out, ModelStats const &stats)
Print evaluation results (timing, errors, memory) to stdout.
void print_data_summary(Output &out, nlohmann::json const &meta)
Print a data summary table from a JSON meta object.
void print_summary(Output &out, nlohmann::json const &model_data, ConfigDisplayHints const &hints={})
Display a full model summary from its JSON representation.
void print_confusion_matrix(Output &out, stats::ConfusionMatrix const &cm, std::string const &title="Confusion Matrix", std::vector< std::string > const &group_names={})
Print a formatted confusion matrix to stdout.
void print_configuration(Output &out, nlohmann::json const &config, ConfigDisplayHints const &hints={})
Print model configuration table from a JSON config object.
Statistical infrastructure for training and evaluation.
Definition ConfusionMatrix.hpp:11
double sd(types::FeatureVector const &data)
Sample standard deviation of a vector.
Eigen::Matrix< T, Eigen::Dynamic, 1 > Vector
Generic dynamic-size column vector.
Definition Types.hpp:35
Grouped result of the three variable importance measures.
Definition VariableImportance.hpp:27
Optional display hints for print_configuration.
Definition Presentation.hpp:90
int vars_percent
Definition Presentation.hpp:91
std::string test_samples
Definition Presentation.hpp:96
bool default_threads
Definition Presentation.hpp:93
bool default_seed
Definition Presentation.hpp:94
bool default_vars
Definition Presentation.hpp:92
std::string training_samples
Definition Presentation.hpp:95
Aggregated statistics across multiple training iterations.
Definition Presentation.hpp:25
long peak_rss_bytes
Definition Presentation.hpp:29
double std_te_error() const
Definition Presentation.hpp:41
types::Vector< float > tr_error
Definition Presentation.hpp:27
double std_time() const
Definition Presentation.hpp:37
double std_tr_error() const
Definition Presentation.hpp:39
types::Vector< float > tr_times
Definition Presentation.hpp:26
double mean_time() const
Definition Presentation.hpp:31
double mean_tr_error() const
Definition Presentation.hpp:33
types::Vector< float > te_error
Definition Presentation.hpp:28
double mean_te_error() const
Definition Presentation.hpp:35
nlohmann::json to_json() const
Serialize to JSON including per-iteration breakdown.
Quiet-aware, indentation-aware output context.
Definition Output.hpp:26
A confusion matrix comparing predicted vs actual group labels.
Definition ConfusionMatrix.hpp:34