ppforest2 v0.1.0
Projection Pursuit Decision Trees and Random Forests
Loading...
Searching...
No Matches
TreeResponse.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "models/TreeNode.hpp"
4
5namespace ppforest2 {
12 struct TreeResponse : public TreeNode {
13 using Ptr = std::unique_ptr<TreeResponse>;
14
17
19
20 void accept(TreeNode::Visitor& visitor) const override;
21 types::Response response() const override;
22
29 types::Response predict(types::FeatureVector const& data) const override;
30
31 bool is_leaf() const override { return true; }
32
33 int group_count() const override { return 1; }
34
35 std::set<types::Response> node_groups() const override { return {value}; }
36
37 bool equals(TreeNode const& other) const override;
38 TreeNode::Ptr clone() const override;
39
42 };
43}
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