19 void to_json(nlohmann::json& j)
const override;
20 std::string
display_name()
const override {
return lambda == 0 ?
"LDA" :
"PDA"; }
24 Projector const& projector)
const override;
#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
Projection pursuit strategies.
Definition PPPDAStrategy.hpp:8
types::FeatureVector Projector
Column vector of projection coefficients (one per variable).
Definition Projector.hpp:6
PPStrategy::Ptr pda(float lambda)
Factory function for a PDA projection pursuit strategy.
Eigen::Matrix< Feature, Eigen::Dynamic, Eigen::Dynamic > FeatureMatrix
Dynamic-size matrix of feature values.
Definition Types.hpp:24
float Feature
Scalar type for feature values (float or double).
Definition Types.hpp:17
std::shared_ptr< PPStrategy > Ptr
Definition Strategy.hpp:24
types::Feature index(types::FeatureMatrix const &x, stats::GroupPartition const &group_spec, Projector const &projector) const override
Evaluate the projection pursuit index for a given projector.
PPResult optimize(types::FeatureMatrix const &x, stats::GroupPartition const &group_spec) const override
Find the optimal projection for the data.
static PPStrategy::Ptr from_json(nlohmann::json const &j)
PPPDAStrategy(float lambda)
std::string display_name() const override
Human-readable name for display in summaries.
Definition PPPDAStrategy.hpp:20
void to_json(nlohmann::json &j) const override
Serialize this strategy's configuration to JSON.
Result of a projection pursuit optimization step.
Definition PPStrategy.hpp:21
Abstract strategy for projection pursuit optimization.
Definition PPStrategy.hpp:37