ppforest2 v0.1.0
Projection Pursuit Decision Trees and Random Forests
Loading...
Searching...
No Matches
DRUniformStrategy.hpp
Go to the documentation of this file.
1#pragma once
2
4#include "models/Strategy.hpp"
6
7namespace ppforest2::dr {
15 struct DRUniformStrategy : public DRStrategy {
16 explicit DRUniformStrategy(int n_vars);
17
18 void to_json(nlohmann::json& j) const override;
19 std::string display_name() const override { return "Uniform random"; }
20
22 select(types::FeatureMatrix const& x, stats::GroupPartition const& group_spec, stats::RNG& rng) const override;
23
24 static DRStrategy::Ptr from_json(nlohmann::json const& j);
25
27
28 private:
30 int const n_vars;
31 };
32
34 DRStrategy::Ptr uniform(int n_vars);
35}
#define PPFOREST2_REGISTER_STRATEGY(StrategyBase, name)
Auto-registration macro for strategy factories.
Definition Strategy.hpp:100
Contiguous-block representation of grouped observations.
Definition GroupPartition.hpp:42
Dimensionality reduction strategies for variable selection.
Definition DRNoopStrategy.hpp:7
DRStrategy::Ptr uniform(int n_vars)
Factory function for a uniform DR strategy.
pcg32 RNG
Definition Stats.hpp:19
Eigen::Matrix< Feature, Eigen::Dynamic, Eigen::Dynamic > FeatureMatrix
Dynamic-size matrix of feature values.
Definition Types.hpp:24
std::shared_ptr< DRStrategy > Ptr
Definition Strategy.hpp:24
Result of a dimensionality reduction step.
Definition DRStrategy.hpp:31
Abstract strategy for dimensionality reduction.
Definition DRStrategy.hpp:73
std::string display_name() const override
Human-readable name for display in summaries.
Definition DRUniformStrategy.hpp:19
static DRStrategy::Ptr from_json(nlohmann::json const &j)
DRResult select(types::FeatureMatrix const &x, stats::GroupPartition const &group_spec, stats::RNG &rng) const override
Select a subset of variables.
void to_json(nlohmann::json &j) const override
Serialize this strategy's configuration to JSON.