CRTP base class providing self-registration for strategy types.
Definition Strategy.hpp:93
std::shared_ptr< Grouping > Ptr
Definition Strategy.hpp:95
Abstract strategy for managing group partitions.
Definition Grouping.hpp:31
void split(NodeContext &ctx, stats::RNG &rng) const
Split observations into two child partitions; writes ctx.lower_y_part / upper_y_part.
stats::GroupPartition init(types::GroupIdVector const &y) const
Convenience overload for callers with a GroupIdVector.
Definition Grouping.hpp:49
virtual void compute(NodeContext &ctx, stats::RNG &rng) const =0
Subclass implementation of per-node splitting.
virtual stats::GroupPartition compute_init(types::OutcomeVector const &y) const =0
Subclass implementation of initial partition construction.
stats::GroupPartition init(types::OutcomeVector const &y) const
Create the initial GroupPartition from the training response.
Contiguous-block representation of grouped observations.
Definition GroupPartition.hpp:40
Definition ByCutpoint.hpp:6
Grouping::Ptr by_label()
Factory function for label-based grouping.
Grouping::Ptr by_cutpoint()
Factory function for cutpoint-based grouping (regression).
pcg32 RNG
Definition Stats.hpp:24
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
Feature Outcome
Scalar type for predictions (float for both classification and regression).
Definition Types.hpp:30
Binarization strategies for multiclass-to-binary reduction.
Definition Benchmark.hpp:25
Mutable context accumulating intermediate results during node training.
Definition NodeContext.hpp:20