13 using Ptr = std::unique_ptr<TreeResponse>;
31 bool is_leaf()
const override {
return true; }
Eigen::Matrix< Feature, Eigen::Dynamic, 1 > FeatureVector
Dynamic-size column vector of feature values.
Definition Types.hpp:26
int Response
Scalar type for group labels (integer).
Definition Types.hpp:21
Definition Benchmark.hpp:22
Visitor interface for tree node dispatch.
Definition TreeNode.hpp:28
Abstract base class for nodes in a projection pursuit tree.
Definition TreeNode.hpp:19
std::unique_ptr< TreeNode > Ptr
Definition TreeNode.hpp:20
std::set< types::Response > node_groups() const override
Sorted set of group labels reachable from this node.
Definition TreeResponse.hpp:35
int group_count() const override
Number of distinct groups reachable from this node.
Definition TreeResponse.hpp:33
void accept(TreeNode::Visitor &visitor) const override
Accept a tree node visitor (double dispatch).
types::Response predict(types::FeatureVector const &data) const override
Return the stored class label (ignores input).
static Ptr make(types::Response value)
Factory method that returns a unique_ptr to a new TreeResponse.
bool equals(TreeNode const &other) const override
Structural equality comparison (value-based).
types::Response response() const override
The group label at this node (leaf value or majority group).
TreeNode::Ptr clone() const override
Deep copy of this node and its subtree.
types::Response value
Class label stored at this leaf.
Definition TreeResponse.hpp:16
std::unique_ptr< TreeResponse > Ptr
Definition TreeResponse.hpp:13
TreeResponse(types::Response value)
bool is_leaf() const override
Whether this node is a leaf (TreeResponse).
Definition TreeResponse.hpp:31