26 using Maybe = std::optional<ClassificationMetrics>;
53 using Maybe = std::optional<RegressionMetrics>;
116 using Metrics = std::variant<ClassificationMetrics, RegressionMetrics>;
Confusion matrix for classification model evaluation.
Statistical infrastructure for training and evaluation.
Definition ConfusionMatrix.hpp:11
double r_squared(types::OutcomeVector const &predictions, types::OutcomeVector const &actual)
Coefficient of determination (R²). Returns 0 when total variance is 0.
double mae(types::OutcomeVector const &predictions, types::OutcomeVector const &actual)
Mean absolute error.
std::variant< ClassificationMetrics, RegressionMetrics > Metrics
Mode-polymorphic metrics block.
Definition Metrics.hpp:116
float accuracy(types::OutcomeVector const &predictions, types::GroupIdVector const &actual)
Fraction of predictions matching the ground-truth class label.
Metrics metrics_from_outcomes(types::OutcomeVector const &y_pred, types::OutcomeVector const &y, types::Mode mode)
Build a mode-appropriate Metrics variant from in-memory tensors.
double error_rate(types::OutcomeVector const &predictions, types::GroupIdVector const &actual)
Misclassification rate — 1 - accuracy.
double mse(types::OutcomeVector const &predictions, types::OutcomeVector const &actual)
Mean squared error.
Eigen::Matrix< Outcome, Eigen::Dynamic, 1 > OutcomeVector
Dynamic-size column vector of predictions.
Definition Types.hpp:42
Eigen::Matrix< GroupId, Eigen::Dynamic, 1 > GroupIdVector
Dynamic-size column vector of internal group labels.
Definition Types.hpp:39
int GroupId
Scalar type for internal group labels (integer). Used as map keys, set elements, and partition indice...
Definition Types.hpp:27
Mode
Training mode.
Definition Types.hpp:58
ClassificationMetrics(ConfusionMatrix cm)
Definition Metrics.hpp:32
double error_rate() const
Definition Metrics.hpp:38
std::optional< ClassificationMetrics > Maybe
Definition Metrics.hpp:26
ClassificationMetrics()=default
ConfusionMatrix confusion_matrix
Definition Metrics.hpp:28
ClassificationMetrics(types::GroupIdVector const &predictions, types::GroupIdVector const &actual)
Definition Metrics.hpp:35
A confusion matrix comparing predicted vs actual group labels.
Definition ConfusionMatrix.hpp:38
RegressionMetrics()=default
double mse
Mean squared error.
Definition Metrics.hpp:55
double mae
Mean absolute error.
Definition Metrics.hpp:56
RegressionMetrics(types::OutcomeVector const &predictions, types::OutcomeVector const &actual)
Compute metrics from predictions and actual values.
std::optional< RegressionMetrics > Maybe
Definition Metrics.hpp:53
double r_squared
Coefficient of determination (R²).
Definition Metrics.hpp:57