ppforest2 v0.1.0
Projection Pursuit Decision Trees and Random Forests
Loading...
Searching...
No Matches
ProjectionPursuit.hpp
Go to the documentation of this file.
1#pragma once
2
5#include "stats/Stats.hpp"
6#include "utils/Types.hpp"
7
15namespace ppforest2 {
16 struct NodeContext;
17}
18
19namespace ppforest2::pp {
25 class ProjectionPursuit : public Strategy<ProjectionPursuit> {
26 public:
36
38 void optimize(NodeContext& ctx, stats::RNG& rng) const;
39
40 protected:
41 virtual void compute(NodeContext& ctx, stats::RNG& rng) const = 0;
42 };
43
46}
CRTP base class providing self-registration for strategy types.
Definition Strategy.hpp:93
std::shared_ptr< ProjectionPursuit > Ptr
Definition Strategy.hpp:95
Abstract strategy for projection pursuit optimization.
Definition ProjectionPursuit.hpp:25
void optimize(NodeContext &ctx, stats::RNG &rng) const
Find the optimal projection and store it in the context.
virtual void compute(NodeContext &ctx, stats::RNG &rng) const =0
Definition Projector.hpp:4
types::FeatureVector Projector
Column vector of projection coefficients (one per variable).
Definition Projector.hpp:6
ProjectionPursuit::Ptr pda(float lambda)
Factory function for a PDA projection pursuit strategy.
pcg32 RNG
Definition Stats.hpp:24
float Feature
Scalar type for feature values.
Definition Types.hpp:24
Binarization strategies for multiclass-to-binary reduction.
Definition Benchmark.hpp:25
Mutable context accumulating intermediate results during node training.
Definition NodeContext.hpp:20
Result of a projection pursuit optimization step.
Definition ProjectionPursuit.hpp:30
types::Feature index_value
Projection pursuit index value achieved.
Definition ProjectionPursuit.hpp:34
ppforest2::pp::Projector projector
Optimized projection vector.
Definition ProjectionPursuit.hpp:32