ppforest2 v0.1.0
Projection Pursuit Decision Trees and Random Forests
Loading...
Searching...
No Matches
EvaluateResult.hpp
Go to the documentation of this file.
1
5#pragma once
6
7#include "stats/Stats.hpp"
8#include "utils/Types.hpp"
9
10#include <nlohmann/json.hpp>
11#include <optional>
12#include <string>
13
14namespace ppforest2::io {
23 std::string data_path;
24
26 int n = 0;
27 int p = 0;
28 int g = 0;
29
30 int size = 0;
31 std::optional<int> n_vars;
32 std::optional<float> p_vars;
33 float train_ratio = 0.7F;
34
35 int runs = 0;
36 double mean_time_ms = 0;
37 double std_time_ms = 0;
38 double mean_tr_error = 0;
39 double mean_te_error = 0;
40 std::optional<long> peak_rss_bytes;
41 std::optional<double> peak_rss_mb;
42
43 EvaluateResult() = default;
44 explicit EvaluateResult(nlohmann::json const& j);
45
46 nlohmann::json to_json() const;
47 };
48
56 struct ModelStats {
57 std::string data_path;
58
60 int n = 0;
61 int p = 0;
62 int g = 0;
63
64 int size = 0;
65 std::optional<int> n_vars;
66 std::optional<float> p_vars;
67 float train_ratio = 0.7F;
68
72 long peak_rss_bytes = -1;
73
74 double mean_time() const { return static_cast<double>(tr_times.mean()); }
75
76 double mean_tr_error() const { return tr_error.mean(); }
77
78 double mean_te_error() const { return te_error.mean(); }
79
80 double std_time() const { return stats::sd(tr_times); }
81
82 double std_tr_error() const { return stats::sd(tr_error); }
83
84 double std_te_error() const { return stats::sd(te_error); }
85
88
90 nlohmann::json to_json() const;
91 };
92}
Definition Color.hpp:31
double sd(Eigen::MatrixBase< Derived > const &data)
Sample standard deviation of a vector — sqrt(var(data)).
Definition Stats.hpp:75
Eigen::Matrix< T, Eigen::Dynamic, 1 > Vector
Generic dynamic-size column vector.
Definition Types.hpp:55
Mode
Training mode.
Definition Types.hpp:58
@ Classification
Definition Types.hpp:58
Summary of an evaluation run.
Definition EvaluateResult.hpp:22
int g
Number of groups (0 for regression).
Definition EvaluateResult.hpp:28
double mean_time_ms
Definition EvaluateResult.hpp:36
std::optional< float > p_vars
Variable proportion.
Definition EvaluateResult.hpp:32
int n
Number of observations.
Definition EvaluateResult.hpp:26
double mean_tr_error
Definition EvaluateResult.hpp:38
std::optional< long > peak_rss_bytes
Definition EvaluateResult.hpp:40
EvaluateResult(nlohmann::json const &j)
int runs
Definition EvaluateResult.hpp:35
int p
Number of features.
Definition EvaluateResult.hpp:27
types::Mode mode
Training mode.
Definition EvaluateResult.hpp:25
std::optional< int > n_vars
Variable count (integer mode).
Definition EvaluateResult.hpp:31
double mean_te_error
Definition EvaluateResult.hpp:39
nlohmann::json to_json() const
std::optional< double > peak_rss_mb
Definition EvaluateResult.hpp:41
double std_time_ms
Definition EvaluateResult.hpp:37
int size
Forest size (number of trees).
Definition EvaluateResult.hpp:30
std::string data_path
Data source path (empty for simulated data).
Definition EvaluateResult.hpp:23
float train_ratio
Train/test split ratio.
Definition EvaluateResult.hpp:33
Per-iteration training statistics.
Definition EvaluateResult.hpp:56
long peak_rss_bytes
Definition EvaluateResult.hpp:72
int n
Number of observations.
Definition EvaluateResult.hpp:60
int size
Definition EvaluateResult.hpp:64
int g
Number of groups (0 for regression).
Definition EvaluateResult.hpp:62
types::Vector< double > tr_error
Definition EvaluateResult.hpp:70
double std_te_error() const
Definition EvaluateResult.hpp:84
double std_time() const
Definition EvaluateResult.hpp:80
double std_tr_error() const
Definition EvaluateResult.hpp:82
std::string data_path
Definition EvaluateResult.hpp:57
types::Mode mode
Training mode.
Definition EvaluateResult.hpp:59
types::Vector< long long > tr_times
Definition EvaluateResult.hpp:69
EvaluateResult summarize() const
Produce an EvaluateResult summary from per-iteration data.
std::optional< float > p_vars
Definition EvaluateResult.hpp:66
double mean_time() const
Definition EvaluateResult.hpp:74
std::optional< int > n_vars
Definition EvaluateResult.hpp:65
double mean_tr_error() const
Definition EvaluateResult.hpp:76
int p
Number of features.
Definition EvaluateResult.hpp:61
types::Vector< double > te_error
Definition EvaluateResult.hpp:71
double mean_te_error() const
Definition EvaluateResult.hpp:78
nlohmann::json to_json() const
Serialize to JSON including per-iteration breakdown.
float train_ratio
Definition EvaluateResult.hpp:67