10#include <nlohmann/json.hpp>
41 using Ptr = std::shared_ptr<TrainingSpec>;
94 template<
typename... Args>
static Ptr make(Args&&... args) {
95 return std::make_shared<TrainingSpec>(std::forward<Args>(args)...);
Dimensionality reduction strategies for variable selection.
Definition DRNoopStrategy.hpp:7
Projection pursuit strategies.
Definition PPPDAStrategy.hpp:8
Split rule strategies for computing decision thresholds.
Definition SRMeanOfMeansStrategy.hpp:7
Definition Benchmark.hpp:22
std::shared_ptr< PPStrategy > Ptr
Definition Strategy.hpp:24
static Ptr make(Args &&... args)
Create a shared pointer to a TrainingSpec.
Definition TrainingSpec.hpp:94
int resolve_threads() const
Get the number of threads to use for training.
Definition TrainingSpec.hpp:106
dr::DRStrategy::Ptr const dr_strategy
Dimensionality reduction strategy.
Definition TrainingSpec.hpp:46
void to_json(nlohmann::json &j) const
Serialize the training spec to JSON.
bool is_forest() const
Whether this specification describes a forest (size > 0).
Definition TrainingSpec.hpp:79
sr::SRStrategy::Ptr const sr_strategy
Group splitting rule strategy.
Definition TrainingSpec.hpp:48
int const max_retries
Maximum retry attempts for degenerate trees.
Definition TrainingSpec.hpp:57
int const size
Number of trees (0 = single tree).
Definition TrainingSpec.hpp:51
int const seed
RNG seed.
Definition TrainingSpec.hpp:53
TrainingSpec(pp::PPStrategy::Ptr pp, dr::DRStrategy::Ptr dr, sr::SRStrategy::Ptr sr, int size=0, int seed=0, int threads=0, int max_retries=3)
Construct a training specification.
pp::PPStrategy::Ptr const pp_strategy
Projection pursuit optimization strategy.
Definition TrainingSpec.hpp:44
static Ptr from_json(nlohmann::json const &j)
Deserialize a training spec from JSON.
int const threads
Number of threads for parallel forest training.
Definition TrainingSpec.hpp:55
std::shared_ptr< TrainingSpec > Ptr
Definition TrainingSpec.hpp:41