26 using Ptr = std::shared_ptr<Model>;
Eigen::Matrix< Feature, Eigen::Dynamic, Eigen::Dynamic > FeatureMatrix
Dynamic-size matrix of feature values.
Definition Types.hpp:24
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
Eigen::Matrix< Response, Eigen::Dynamic, 1 > ResponseVector
Dynamic-size column vector of group labels.
Definition Types.hpp:29
Definition Benchmark.hpp:22
A projection pursuit random forest.
Definition Forest.hpp:32
Visitor interface for model dispatch.
Definition Model.hpp:34
virtual void visit(Tree const &tree)=0
virtual void visit(Forest const &forest)=0
Abstract base class for predictive models (trees and forests).
Definition Model.hpp:25
virtual types::ResponseVector predict(types::FeatureMatrix const &data) const =0
Predict a matrix of observations.
std::shared_ptr< Model > Ptr
Definition Model.hpp:26
static Ptr train(TrainingSpec const &spec, types::FeatureMatrix const &x, types::ResponseVector const &y)
Train a model from a training specification.
virtual types::Response predict(types::FeatureVector const &data) const =0
Predict a single observation.
bool degenerate
Whether the model contains degenerate nodes/splits.
Definition Model.hpp:42
TrainingSpec::Ptr training_spec
Training specification used to build this model.
Definition Model.hpp:45
virtual void accept(Visitor &visitor) const =0
Accept a model visitor (double dispatch).
virtual types::FeatureMatrix predict(types::FeatureMatrix const &data, Proportions) const =0
Predict proportions for a matrix of observations.
Tag type for requesting vote-proportion predictions.
Definition Model.hpp:19
Training configuration for projection pursuit trees and forests.
Definition TrainingSpec.hpp:40
std::shared_ptr< TrainingSpec > Ptr
Definition TrainingSpec.hpp:41
A single projection pursuit decision tree.
Definition Tree.hpp:26