File learner.hpp

namespace boosting
class IBoostingRuleLearner : public virtual IRuleLearner
#include <learner.hpp>

Defines an interface for all rule learners that make use of gradient boosting.

Subclassed by boosting::AbstractBoostingRuleLearner, boosting::IBoomer

Public Functions

inline virtual ~IBoostingRuleLearner() override
class IAutomaticBinaryPredictorMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide for a predictor for predicting whether individual labels are relevant or irrelevant.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticBinaryPredictorMixin() override
inline virtual void useAutomaticBinaryPredictor()

Configures the rule learner to automatically decide for a predictor for predicting whether individual labels are relevant or irrelevant.

class IAutomaticDefaultRuleMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide whether a default rule should be induced or not.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticDefaultRuleMixin() override
inline virtual void useAutomaticDefaultRule()

Configures the rule learner to automatically decide whether a default rule should be induced or not.

class IAutomaticFeatureBinningMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide whether a method for the assignment of numerical feature values to bins should be used or not.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticFeatureBinningMixin() override
inline virtual void useAutomaticFeatureBinning()

Configures the rule learner to automatically decide whether a method for the assignment of numerical feature values to bins should be used or not.

class IAutomaticHeadMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide for the type of rule heads that should be used.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticHeadMixin() override
inline virtual void useAutomaticHeads()

Configures the rule learner to automatically decide for the type of rule heads that should be used.

class IAutomaticLabelBinningMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide whether a method for the assignment of labels to bins should be used or not.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticLabelBinningMixin() override
inline virtual void useAutomaticLabelBinning()

Configures the rule learner to automatically decide whether a method for the assignment of labels to bins should be used or not.

class IAutomaticParallelRuleRefinementMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide whether multi-threading should be used for the parallel refinement of rules or not.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticParallelRuleRefinementMixin() override
inline virtual void useAutomaticParallelRuleRefinement()

Configures the rule learner to automatically decide whether multi-threading should be used for the parallel refinement of rules or not.

class IAutomaticParallelStatisticUpdateMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide whether multi-threading should be used for the parallel update of statistics or not.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticParallelStatisticUpdateMixin() override
inline virtual void useAutomaticParallelStatisticUpdate()

Configures the rule learner to automatically decide whether multi-threading should be used for the parallel update of statistics or not.

class IAutomaticPartitionSamplingMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide whether a holdout set should be used or not.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticPartitionSamplingMixin() override
inline virtual void useAutomaticPartitionSampling()

Configures the rule learner to automatically decide whether a holdout set should be used or not.

class IAutomaticProbabilityPredictorMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide for a predictor for predicting probability estimates.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticProbabilityPredictorMixin() override
inline virtual void useAutomaticProbabilityPredictor()

Configures the rule learner to automatically decide for a predictor for predicting probability estimates.

class IAutomaticStatisticsMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to automatically decide whether a dense or sparse representation of gradients and Hessians should be used.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IAutomaticStatisticsMixin() override
inline virtual void useAutomaticStatistics()

Configures the rule learner to automatically decide whether a dense or sparse representation of gradients and Hessians should be used.

class ICompleteHeadMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to induce rules with complete heads that predict for all available labels.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~ICompleteHeadMixin() override
inline virtual void useCompleteHeads()

Configures the rule learner to induce rules with complete heads that predict for all available labels.

class IConfig : public virtual IRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner that makes use of gradient boosting.

Subclassed by boosting::AbstractBoostingRuleLearner::Config, boosting::IBoomer::IConfig, boosting::IBoostingRuleLearner::IAutomaticBinaryPredictorMixin, boosting::IBoostingRuleLearner::IAutomaticDefaultRuleMixin, boosting::IBoostingRuleLearner::IAutomaticFeatureBinningMixin, boosting::IBoostingRuleLearner::IAutomaticHeadMixin, boosting::IBoostingRuleLearner::IAutomaticLabelBinningMixin, boosting::IBoostingRuleLearner::IAutomaticParallelRuleRefinementMixin, boosting::IBoostingRuleLearner::IAutomaticParallelStatisticUpdateMixin, boosting::IBoostingRuleLearner::IAutomaticPartitionSamplingMixin, boosting::IBoostingRuleLearner::IAutomaticProbabilityPredictorMixin, boosting::IBoostingRuleLearner::IAutomaticStatisticsMixin, boosting::IBoostingRuleLearner::ICompleteHeadMixin, boosting::IBoostingRuleLearner::IConstantShrinkageMixin, boosting::IBoostingRuleLearner::IDenseStatisticsMixin, boosting::IBoostingRuleLearner::IDynamicPartialHeadMixin, boosting::IBoostingRuleLearner::IEqualWidthLabelBinningMixin, boosting::IBoostingRuleLearner::IExampleWiseBinaryPredictorMixin, boosting::IBoostingRuleLearner::IExampleWiseLogisticLossMixin, boosting::IBoostingRuleLearner::IExampleWiseSquaredErrorLossMixin, boosting::IBoostingRuleLearner::IExampleWiseSquaredHingeLossMixin, boosting::IBoostingRuleLearner::IFixedPartialHeadMixin, boosting::IBoostingRuleLearner::IGfmBinaryPredictorMixin, boosting::IBoostingRuleLearner::IIsotonicJointProbabilityCalibrationMixin, boosting::IBoostingRuleLearner::IIsotonicMarginalProbabilityCalibrationMixin, boosting::IBoostingRuleLearner::IL1RegularizationMixin, boosting::IBoostingRuleLearner::IL2RegularizationMixin, boosting::IBoostingRuleLearner::ILabelWiseBinaryPredictorMixin, boosting::IBoostingRuleLearner::ILabelWiseLogisticLossMixin, boosting::IBoostingRuleLearner::ILabelWiseProbabilityPredictorMixin, boosting::IBoostingRuleLearner::ILabelWiseScorePredictorMixin, boosting::IBoostingRuleLearner::ILabelWiseSquaredErrorLossMixin, boosting::IBoostingRuleLearner::ILabelWiseSquaredHingeLossMixin, boosting::IBoostingRuleLearner::IMarginalizedProbabilityPredictorMixin, boosting::IBoostingRuleLearner::INoDefaultRuleMixin, boosting::IBoostingRuleLearner::INoL1RegularizationMixin, boosting::IBoostingRuleLearner::INoL2RegularizationMixin, boosting::IBoostingRuleLearner::INoLabelBinningMixin, boosting::IBoostingRuleLearner::ISingleLabelHeadMixin, boosting::IBoostingRuleLearner::ISparseStatisticsMixin

Public Functions

inline virtual ~IConfig() override

Protected Functions

virtual std::unique_ptr<IHeadConfig> &getHeadConfigPtr() = 0

Returns an unique pointer to the configuration of the rule heads that should be induced by the rule learner.

Returns:

A reference to an unique pointer of type IHeadConfig that stores the configuration of the rule heads

virtual std::unique_ptr<IStatisticsConfig> &getStatisticsConfigPtr() = 0

Returns an unique pointer to the configuration of the statistics that should be used by the rule learner.

Returns:

A reference to an unique pointer of type IStatisticsConfig that stores the configuration of the statistics

virtual std::unique_ptr<IRegularizationConfig> &getL1RegularizationConfigPtr() = 0

Returns an unique pointer to the configuration of the L1 regularization term.

Returns:

A reference to an unique pointer of type IRegularizationConfig that stores the configuration of the L1 regularization term

virtual std::unique_ptr<IRegularizationConfig> &getL2RegularizationConfigPtr() = 0

Returns an unique pointer to the configuration of the L2 regularization term.

Returns:

A reference to an unique pointer of type IRegularizationConfig that stores the configuration of the L2 regularization term

virtual std::unique_ptr<ILossConfig> &getLossConfigPtr() = 0

Returns an unique pointer to the configuration of the loss function.

Returns:

A reference to an unique pointer of type ILossConfig that stores the configuration of the loss function

virtual std::unique_ptr<ILabelBinningConfig> &getLabelBinningConfigPtr() = 0

Returns an unique pointer to the configuration of the method for the assignment of labels to bins.

Returns:

A reference to an unique pointer of type ILabelBinningConfig that stores the configuration of the method for the assignment of labels to bins

Friends

friend class AbstractBoostingRuleLearner
class IConstantShrinkageMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a post processor that shrinks the weights fo rules by a constant “shrinkage” parameter.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IConstantShrinkageMixin() override
inline virtual IConstantShrinkageConfig &useConstantShrinkagePostProcessor()

Configures the rule learner to use a post processor that shrinks the weights of rules by a constant “shrinkage” parameter.

Returns:

A reference to an object of type IConstantShrinkageConfig that allows further configuration of the loss function

class IDenseStatisticsMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a dense representation of gradients and Hessians.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IDenseStatisticsMixin() override
inline virtual void useDenseStatistics()

Configures the rule learner to use a dense representation of gradients and Hessians.

class IDynamicPartialHeadMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to induce rules with partial heads that predict for a subset of the available labels that is determined dynamically.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IDynamicPartialHeadMixin() override
inline virtual IDynamicPartialHeadConfig &useDynamicPartialHeads()

Configures the rule learner to induce rules with partial heads that predict for a subset of the available labels that is determined dynamically. Only those labels for which the square of the predictive quality exceeds a certain threshold are included in a rule head.

Returns:

A reference to an object of type IDynamicPartialHeadConfig that allows further configuration of the rule heads

class IEqualWidthLabelBinningMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a method for the assignment of labels to bins.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IEqualWidthLabelBinningMixin() override
inline virtual IEqualWidthLabelBinningConfig &useEqualWidthLabelBinning()

Configures the rule learner to use a method for the assignment of labels to bins in a way such that each bin contains labels for which the predicted score is expected to belong to the same value range.

Returns:

A reference to an object of type IEqualWidthLabelBinningConfig that allows further configuration of the method for the assignment of labels to bins

class IExampleWiseBinaryPredictorMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a predictor that predicts known label vectors for given query examples by comparing the predicted regression scores or probability estimates to the label vectors encountered in the training data.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IExampleWiseBinaryPredictorMixin() override
inline virtual IExampleWiseBinaryPredictorConfig &useExampleWiseBinaryPredictor()

Configures the rule learner to use a predictor that predicts known label vectors for given query examples by comparing the predicted regression scores or probability estimates to the label vectors encountered in the training data.

Returns:

A reference to an object of type IExampleWiseBinaryPredictorConfig that allows further configuration of the predictor

class IExampleWiseLogisticLossMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a loss function that implements a multi-label variant of the logistic loss that is applied example-wise.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IExampleWiseLogisticLossMixin() override
inline virtual void useExampleWiseLogisticLoss()

Configures the rule learner to use a loss function that implements a multi-label variant of the logistic loss that is applied example-wise.

class IExampleWiseSquaredErrorLossMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a loss function that implements a multi-label variant of the squared error loss that is applied example-wise.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IExampleWiseSquaredErrorLossMixin() override
inline virtual void useExampleWiseSquaredErrorLoss()

Configures the rule learner to use a loss function that implements a multi-label variant of the squared error loss that is applied example-wise.

class IExampleWiseSquaredHingeLossMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a loss function that implements a multi-label variant of the squared hinge loss that is applied example-wise.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IExampleWiseSquaredHingeLossMixin() override
inline virtual void useExampleWiseSquaredHingeLoss()

Configures the rule learner to use a loss function that implements a multi-label variant of the squared hinge loss that is applied example-wise.

class IFixedPartialHeadMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to induce rules with partial heads that predict for a predefined number of labels.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IFixedPartialHeadMixin() override
inline virtual IFixedPartialHeadConfig &useFixedPartialHeads()

Configures the rule learner to induce rules with partial heads that predict for a predefined number of labels.

Returns:

A reference to an object of type IFixedPartialHeadConfig that allows further configuration of the rule heads

class IGfmBinaryPredictorMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a predictor that predicts whether individual labels of given query examples are relevant or irrelevant by discretizing the regression scores or probability estimates that are predicted for each label according to the general F-measure maximizer (GFM).

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IGfmBinaryPredictorMixin() override
inline virtual IGfmBinaryPredictorConfig &useGfmBinaryPredictor()

Configures the rule learner to use a predictor that predicts whether individual labels of given query examples are relevant or irrelevant by discretizing the regression scores or probability estimates that are predicted for each label according to the general F-measure maximizer (GFM).

Returns:

A reference to an object of type IGfmBinaryPredictorConfig that allows further configuration of the predictor

class IIsotonicJointProbabilityCalibrationMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to calibrate joint probabilities via isotonic regression.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IIsotonicJointProbabilityCalibrationMixin() override
inline virtual IIsotonicJointProbabilityCalibratorConfig &useIsotonicJointProbabilityCalibration()

Configures the rule learner to calibrate joint probabilities via isotonic regression.

Returns:

A reference to an object of type IIsotonicJointProbabilityCalibratorConfig that allows further configuration of the calibrator

class IIsotonicMarginalProbabilityCalibrationMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to calibrate marginal probabilities via isotonic regression.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IIsotonicMarginalProbabilityCalibrationMixin() override
inline virtual IIsotonicMarginalProbabilityCalibratorConfig &useIsotonicMarginalProbabilityCalibration()

Configures the rule learner to calibrate marginal probabilities via isotonic regression.

Returns:

A reference to an object of type IIsotonicMarginalProbabilityCalibratorConfig that allows further configuration of the calibrator

class IL1RegularizationMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use L1 regularization.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IL1RegularizationMixin() override
inline virtual IManualRegularizationConfig &useL1Regularization()

Configures the rule learner to use L1 regularization.

Returns:

A reference to an object of type IManualRegularizationConfig that allows further configuration of the regularization term

class IL2RegularizationMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use L2 regularization.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IL2RegularizationMixin() override
inline virtual IManualRegularizationConfig &useL2Regularization()

Configures the rule learner to use L2 regularization.

Returns:

A reference to an object of type IManualRegularizationConfig that allows further configuration of the regularization term

class ILabelWiseBinaryPredictorMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a predictor that predicts whether individual labels of given query examples are relevant or irrelevant by discretizing the regression scores or probability estimates that are predicted for each label individually.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~ILabelWiseBinaryPredictorMixin() override
inline virtual ILabelWiseBinaryPredictorConfig &useLabelWiseBinaryPredictor()

Configures the rule learner to use a predictor that predicts whether individual labels of given query examples are relevant or irrelevant by discretizing the regression scores or probability estimates that are predicted for each label individually.

Returns:

A reference to an object of type ILabelWiseBinaryPredictorConfig that allows further configuration of the predictor

class ILabelWiseLogisticLossMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a loss function that implements a multi-label variant of the logistic loss that is applied label-wise.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~ILabelWiseLogisticLossMixin() override
inline virtual void useLabelWiseLogisticLoss()

Configures the rule learner to use a loss function that implements a multi-label variant of the logistic loss that is applied label-wise.

class ILabelWiseProbabilityPredictorMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a predictor that predicts label-wise probabilities for given query examples by transforming the regression scores that are predicted for each label individually into probabilities.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~ILabelWiseProbabilityPredictorMixin() override
inline virtual ILabelWiseProbabilityPredictorConfig &useLabelWiseProbabilityPredictor()

Configures the rule learner to use a predictor that predicts label-wise probabilities for given query examples by transforming the regression scores that are predicted for each label individually into probabilities.

Returns:

A reference to an object of type ILabelWiseProbabilityPredictorConfig that allows further configuration of the predictor

class ILabelWiseScorePredictorMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a predictor that predicts label-wise regression scores for given query examples by summing up the scores that are provided by individual rules for each label individually.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~ILabelWiseScorePredictorMixin() override
inline virtual void useLabelWiseScorePredictor()

Configures the rule learner to use a predictor that predicts label-wise regression scores for given query examples by summing up the scores that are provided by individual rules for each label individually.

class ILabelWiseSquaredErrorLossMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a loss function that implements a multi-label variant of the squared error loss that is applied label-wise.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~ILabelWiseSquaredErrorLossMixin() override
inline virtual void useLabelWiseSquaredErrorLoss()

Configures the rule learner to use a loss function that implements a multi-label variant of the squared error loss that is applied label-wise.

class ILabelWiseSquaredHingeLossMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a loss function that implements a multi-label variant of the squared hinge loss that is applied label-wise.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~ILabelWiseSquaredHingeLossMixin() override
inline virtual void useLabelWiseSquaredHingeLoss()

Configures the rule learner to use a loss function that implements a multi-label variant of the squared hinge loss that is applied label-wise.

class IMarginalizedProbabilityPredictorMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use predictor that predicts label-wise probabilities for given query examples by marginalizing over the joint probabilities of known label vectors.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~IMarginalizedProbabilityPredictorMixin() override
inline virtual IMarginalizedProbabilityPredictorConfig &useMarginalizedProbabilityPredictor()

Configures the rule learner to use a predictor that predicts label-wise probabilities for given query examples by marginalizing over the joint probabilities of known label vectors.

Returns:

A reference to an object of type IMarginalizedProbabilityPredictorConfig that allows further configuration of the predictor

class INoDefaultRuleMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not induce a default rule.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~INoDefaultRuleMixin() override
inline virtual void useNoDefaultRule()

Configures the rule learner to not induce a default rule.

class INoL1RegularizationMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use L1 regularization.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~INoL1RegularizationMixin() override
inline virtual void useNoL1Regularization()

Configures the rule learner to not use L1 regularization.

class INoL2RegularizationMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use L2 regularization.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~INoL2RegularizationMixin() override
inline virtual void useNoL2Regularization()

Configures the rule learner to not use L2 regularization.

class INoLabelBinningMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use any method for the assignment of labels to bins.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~INoLabelBinningMixin() override
inline virtual void useNoLabelBinning()

Configures the rule learner to not use any method for the assignment of labels to bins.

class ISingleLabelHeadMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to induce rules with single-label heads that predict for a single label.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~ISingleLabelHeadMixin() override
inline virtual void useSingleLabelHeads()

Configures the rule learner to induce rules with single-label heads that predict for a single label.

class ISparseStatisticsMixin : public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a sparse representation of gradients and Hessians, if possible.

Subclassed by boosting::IBoomer::IConfig

Public Functions

inline virtual ~ISparseStatisticsMixin() override
inline virtual void useSparseStatistics()

Configures the rule learner to use a sparse representation of gradients and Hessians, if possible.

class AbstractBoostingRuleLearner : public AbstractRuleLearner, public virtual boosting::IBoostingRuleLearner
#include <learner.hpp>

An abstract base class for all rule learners that makes use of gradient boosting.

Subclassed by boosting::Boomer

Public Functions

AbstractBoostingRuleLearner(IBoostingRuleLearner::IConfig &config, Blas::DdotFunction ddotFunction, Blas::DspmvFunction dspmvFunction, Lapack::DsysvFunction dsysvFunction)
Parameters:
  • config – A reference to an object of type IBoostingRuleLearner::IConfig that specifies the configuration that should be used by the rule learner

  • ddotFunction – A function pointer to BLAS’ DDOT routine

  • dspmvFunction – A function pointer to BLAS’ DSPMV routine

  • dsysvFunction – A function pointer to LAPACK’S DSYSV routine

Protected Functions

std::unique_ptr<IStatisticsProviderFactory> createStatisticsProviderFactory(const IFeatureMatrix &featureMatrix, const IRowWiseLabelMatrix &labelMatrix) const override

See also

AbstractRuleLearner::createStatisticsProviderFactory

std::unique_ptr<IModelBuilderFactory> createModelBuilderFactory() const override

See also

AbstractRuleLearner::createModelBuilderFactory

Private Members

IBoostingRuleLearner::IConfig &config_
const Blas blas_
const Lapack lapack_
class Config : public AbstractRuleLearner::Config, public virtual boosting::IBoostingRuleLearner::IConfig
#include <learner.hpp>

Allows to configure a rule learner that makes use of gradient boosting.

Subclassed by boosting::Boomer::Config

Public Functions

Config()

Protected Attributes

std::unique_ptr<IHeadConfig> headConfigPtr_

An unique pointer that stores the configuration of the rule heads.

std::unique_ptr<IStatisticsConfig> statisticsConfigPtr_

An unique pointer that stores the configuration of the statistics.

std::unique_ptr<ILossConfig> lossConfigPtr_

An unique pointer that stores the configuration of the loss function.

std::unique_ptr<IRegularizationConfig> l1RegularizationConfigPtr_

An unique pointer that stores the configuration of the L1 regularization term.

std::unique_ptr<IRegularizationConfig> l2RegularizationConfigPtr_

An unique pointer that stores the configuration of the L2 regularization term.

std::unique_ptr<ILabelBinningConfig> labelBinningConfigPtr_

An unique pointer that stores the configuration of the method that is used to assign labels to bins.

Private Functions

virtual std::unique_ptr<IHeadConfig> &getHeadConfigPtr() final override

Returns an unique pointer to the configuration of the rule heads that should be induced by the rule learner.

Returns:

A reference to an unique pointer of type IHeadConfig that stores the configuration of the rule heads

virtual std::unique_ptr<IStatisticsConfig> &getStatisticsConfigPtr() final override

Returns an unique pointer to the configuration of the statistics that should be used by the rule learner.

Returns:

A reference to an unique pointer of type IStatisticsConfig that stores the configuration of the statistics

virtual std::unique_ptr<IRegularizationConfig> &getL1RegularizationConfigPtr() final override

Returns an unique pointer to the configuration of the L1 regularization term.

Returns:

A reference to an unique pointer of type IRegularizationConfig that stores the configuration of the L1 regularization term

virtual std::unique_ptr<IRegularizationConfig> &getL2RegularizationConfigPtr() final override

Returns an unique pointer to the configuration of the L2 regularization term.

Returns:

A reference to an unique pointer of type IRegularizationConfig that stores the configuration of the L2 regularization term

virtual std::unique_ptr<ILossConfig> &getLossConfigPtr() final override

Returns an unique pointer to the configuration of the loss function.

Returns:

A reference to an unique pointer of type ILossConfig that stores the configuration of the loss function

virtual std::unique_ptr<ILabelBinningConfig> &getLabelBinningConfigPtr() final override

Returns an unique pointer to the configuration of the method for the assignment of labels to bins.

Returns:

A reference to an unique pointer of type ILabelBinningConfig that stores the configuration of the method for the assignment of labels to bins