31 using Ptr = std::shared_ptr<Model>;
95 for (Eigen::Index i = 0; i < x.rows(); ++i) {
Random forest of classification trees.
Definition ClassificationForest.hpp:18
A projection pursuit decision tree for classification.
Definition ClassificationTree.hpp:16
Abstract base class for projection pursuit random forests.
Definition Forest.hpp:31
Visitor interface for model dispatch.
Definition Model.hpp:51
virtual void visit(Tree const &)
Definition Model.hpp:55
virtual ~Visitor()=default
virtual void visit(RegressionForest const &forest)
virtual void visit(RegressionTree const &tree)
virtual void visit(Forest const &)
Definition Model.hpp:56
virtual void visit(ClassificationTree const &tree)
virtual void visit(ClassificationForest const &forest)
Abstract base class for predictive models (trees and forests).
Definition Model.hpp:29
virtual types::OutcomeVector predict(types::FeatureMatrix const &x) const
Predict a matrix of observations.
Definition Model.hpp:92
std::shared_ptr< Model > Ptr
Definition Model.hpp:31
bool degenerate
Whether the model contains degenerate nodes/splits.
Definition Model.hpp:67
static Ptr train(TrainingSpec const &spec, types::FeatureMatrix &x, types::OutcomeVector &y)
Train a model from a training specification.
virtual types::Outcome predict(types::FeatureVector const &x) const =0
Predict a single observation.
static void check_train_inputs(types::FeatureMatrix const &x, types::OutcomeVector const &y)
Validate common training inputs (y non-empty, matching x rows).
TrainingSpec::Ptr training_spec
Training specification used to build this model.
Definition Model.hpp:70
virtual void accept(Visitor &visitor) const =0
Accept a model visitor (double dispatch).
Random forest of regression trees.
Definition RegressionForest.hpp:13
A projection pursuit decision tree for regression.
Definition RegressionTree.hpp:15
Training configuration for projection pursuit trees and forests.
Definition TrainingSpec.hpp:43
std::shared_ptr< TrainingSpec > Ptr
Definition TrainingSpec.hpp:45
Abstract base class for projection pursuit decision trees.
Definition Tree.hpp:29
Eigen::Matrix< Feature, Eigen::Dynamic, Eigen::Dynamic > FeatureMatrix
Dynamic-size matrix of feature values.
Definition Types.hpp:33
Eigen::Matrix< Outcome, Eigen::Dynamic, 1 > OutcomeVector
Dynamic-size column vector of predictions.
Definition Types.hpp:42
Eigen::Matrix< Feature, Eigen::Dynamic, 1 > FeatureVector
Dynamic-size column vector of feature values.
Definition Types.hpp:36
Feature Outcome
Scalar type for predictions (float for both classification and regression).
Definition Types.hpp:30
Binarization strategies for multiclass-to-binary reduction.
Definition Benchmark.hpp:25
bool is_classification(Model const &model)
Whether model was trained for classification.
Definition Model.hpp:145
types::FeatureMatrix predict_proportions(Model const &model, types::FeatureMatrix const &x)
Compute vote proportions for a classification model.
bool is_regression(Model const &model)
Whether model was trained for regression.
Definition Model.hpp:155
Tag type for requesting vote-proportion predictions.
Definition Model.hpp:23