File learner.hpp

namespace boosting
class IBoostedRuleLearnerConfig : public virtual IRuleLearnerConfig
#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::BoostedRuleLearnerConfig, boosting::IAutomaticBinaryPredictorMixin, boosting::IAutomaticDefaultRuleMixin, boosting::IAutomaticFeatureBinningMixin, boosting::IAutomaticHeadMixin, boosting::IAutomaticLabelBinningMixin, boosting::IAutomaticParallelRuleRefinementMixin, boosting::IAutomaticParallelStatisticUpdateMixin, boosting::IAutomaticPartitionSamplingMixin, boosting::IAutomaticProbabilityPredictorMixin, boosting::IAutomaticStatisticsMixin, boosting::ICompleteHeadMixin, boosting::IConstantShrinkageMixin, boosting::IDecomposableLogisticLossMixin, boosting::IDecomposableSquaredErrorLossMixin, boosting::IDecomposableSquaredHingeLossMixin, boosting::IDenseStatisticsMixin, boosting::IDynamicPartialHeadMixin, boosting::IEqualWidthLabelBinningMixin, boosting::IExampleWiseBinaryPredictorMixin, boosting::IFixedPartialHeadMixin, boosting::IFloat32StatisticsMixin, boosting::IFloat64StatisticsMixin, boosting::IGfmBinaryPredictorMixin, boosting::IIsotonicJointProbabilityCalibrationMixin, boosting::IIsotonicMarginalProbabilityCalibrationMixin, boosting::IL1RegularizationMixin, boosting::IL2RegularizationMixin, boosting::IMarginalizedProbabilityPredictorMixin, boosting::INoDefaultRuleMixin, boosting::INoL1RegularizationMixin, boosting::INoL2RegularizationMixin, boosting::INoLabelBinningMixin, boosting::INonDecomposableLogisticLossMixin, boosting::INonDecomposableSquaredErrorLossMixin, boosting::INonDecomposableSquaredHingeLossMixin, boosting::IOutputWiseBinaryPredictorMixin, boosting::IOutputWiseProbabilityPredictorMixin, boosting::IOutputWiseScorePredictorMixin, boosting::ISingleOutputHeadMixin, boosting::ISparseStatisticsMixin

Public Functions

inline virtual ~IBoostedRuleLearnerConfig() override
virtual Property<IHeadConfig> getHeadConfig() = 0

Returns a Property that allows to access the IHeadConfig that stores configuration of the rule heads that should be induced by the rule learner.

Returns:

A reference to a Property that allows to access the IHeadConfig that stores the configuration of the rule heads

virtual ReadableProperty<IStatisticsConfig> getStatisticsConfig() const = 0

Returns a ReadableProperty that allows to access the IStatisticsConfig that stores the configuration of the statistics that should be used by the rule learner.

Returns:

A ReadableProperty that allows to access the IStatisticsConfig that stores the configuration of the statistics

virtual Property<IStatisticTypeConfig> getStatisticTypeConfig() = 0

Returns a Property that allows to access the IStatisticTypeConfig that stores the configuration of the data type that should be used by the rule learner for representing gradients and Hessians.

virtual SharedProperty<IClassificationStatisticsConfig> getClassificationStatisticsConfig() = 0

Returns a SharedProperty that allows to access the IClassificationStatisticsConfig that stores the configuration of the statistics that should be used by the rule learner in classification problems.

Returns:

A SharedProperty that allows to access the IClassificationStatisticsConfig that stores the configuration of the statistics

virtual SharedProperty<IRegressionStatisticsConfig> getRegressionStatisticsConfig() = 0

Returns a SharedProperty that allows to access the IRegressionStatisticsConfig that stores the configuration of the statistics that should be used by the rule learner in regression problems.

Returns:

A SharedProperty that allows to access the IRegressionStatisticsConfig that stores the configuration of the statistics

virtual Property<IRegularizationConfig> getL1RegularizationConfig() = 0

Returns a Property that allows to access the IRegularizationConfig that stores 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 Property<IRegularizationConfig> getL2RegularizationConfig() = 0

Returns a Property that allows to access the IRegularizationConfig that stores the configuration of the L2 regularization term.

Returns:

A Property that allows to access the IRegularizationConfig that stores the configuration of the L2 regularization term

virtual ReadableProperty<ILossConfig> getLossConfig() const = 0

Returns a ReadableProperty that allows to access the ILossConfig that stores the configuration of the loss function.

Returns:

A ReadableProperty that allows to access the ILossConfig that stores the configuration of the loss function

virtual SharedProperty<IClassificationLossConfig> getClassificationLossConfig() = 0

Returns a SharedProperty that allows to access the IClassificationLossConfig that stores the configuration of the loss function that should be used in classification problems.

Returns:

A SharedProperty that allows to access the IClassificationLossConfig that stores the configuration of the loss function that should be used in classification problems

virtual SharedProperty<IRegressionLossConfig> getRegressionLossConfig() = 0

Returns a SharedProperty that allows to access the IRegressionLossConfig that stores the configuration of the loss function that should be used in regression problems.

Returns:

A SharedProperty that allows to access the IRegressionLossConfig that stores the configuration of the loss function that should be used in regression problems

virtual Property<ILabelBinningConfig> getLabelBinningConfig() = 0

Returns a Property that allows to access the ILabelBinningConfig that stores the configuration of the method for the assignment of labels to bins.

Returns:

A Property that allows to access the ILabelBinningConfig that stores the configuration of the method for the assignment of labels to bins

class IAutomaticPartitionSamplingMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 IAutomaticFeatureBinningMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 IAutomaticParallelRuleRefinementMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 IConstantShrinkageMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 ISparseStatisticsMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 IAutomaticStatisticsMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 IFloat32StatisticsMixin : public virtual boosting::IBoostedRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use 32-bit floating point values for representing gradients and Hessians.

Subclassed by boosting::IBoostedRuleLearnerMixin

Public Functions

inline virtual ~IFloat32StatisticsMixin() override
inline virtual void use32BitStatistics()

Configures the rule learner to use 32-bit floating point values for representing gradients and Hessians.

class IFloat64StatisticsMixin : public virtual boosting::IBoostedRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use 64-bit floating point values for representing gradients and Hessians.

Subclassed by boosting::IBoostedRuleLearnerMixin

Public Functions

inline virtual ~IFloat64StatisticsMixin() override
inline virtual void use64BitStatistics()

Configures the rule learner to use 64-bit floating point values for representing gradients and Hessians.

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

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

Subclassed by boosting::IBoostedRuleLearnerMixin

Public Functions

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

Configures the rule learner to not use L1 regularization.

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

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

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 INoL2RegularizationMixin : public virtual boosting::IBoostedRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by boosting::IBoostedRuleLearnerMixin

Public Functions

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

Configures the rule learner to not use L2 regularization.

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

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

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 INoDefaultRuleMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::IConfig

Public Functions

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

Configures the rule learner to not induce a default rule.

class IAutomaticDefaultRuleMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 ICompleteHeadMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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 outputs.

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 outputs.

class IFixedPartialHeadMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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 outputs.

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 outputs.

Returns:

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

class IDynamicPartialHeadMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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 outputs that is determined dynamically.

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 outputs that is determined dynamically. Only those outputs 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 ISingleOutputHeadMixin : public virtual boosting::IBoostedRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::IConfig

Public Functions

inline virtual ~ISingleOutputHeadMixin() override
inline virtual void useSingleOutputHeads()

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

class IAutomaticHeadMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::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 INonDecomposableSquaredErrorLossMixin : public virtual boosting::IBoostedRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a loss function that implements a multivariate variant of the squared error loss that is non-decomposable.

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::IConfig

Public Functions

inline virtual ~INonDecomposableSquaredErrorLossMixin() override
inline virtual void useNonDecomposableSquaredErrorLoss()

Configures the rule learner to use a loss function that implements a multivariate variant of the squared error loss that is non-decomposable.

class IDecomposableSquaredErrorLossMixin : public virtual boosting::IBoostedRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a loss function that implements a multivariate variant of the squared error loss that is decomposable.

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::IConfig

Public Functions

inline virtual ~IDecomposableSquaredErrorLossMixin() override
inline virtual void useDecomposableSquaredErrorLoss()

Configures the rule learner to use a loss function that implements a multivariate variant of the squared error loss that is decomposable.

class INoLabelBinningMixin : public virtual boosting::IBoostedRuleLearnerConfig
#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::IBoostedRuleLearnerMixin

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 IOutputWiseScorePredictorMixin : public virtual boosting::IBoostedRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::IConfig

Public Functions

inline virtual ~IOutputWiseScorePredictorMixin() override
inline virtual void useOutputWiseScorePredictor()

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

class IBoostedRuleLearnerMixin : public virtual IRuleLearnerMixin, public virtual IDefaultRuleMixin, public virtual boosting::IFloat32StatisticsMixin, public virtual boosting::IFloat64StatisticsMixin, public virtual boosting::INoL1RegularizationMixin, public virtual boosting::INoL2RegularizationMixin, public virtual boosting::INoLabelBinningMixin
#include <learner.hpp>

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

Subclassed by boosting::IBoomerClassifier::IConfig, boosting::IBoomerRegressor::IConfig

Public Functions

inline virtual ~IBoostedRuleLearnerMixin() override
inline virtual void useDefaults() override

See also

IRuleLearnerConfig::useDefaults