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
Propertythat allows to access theIHeadConfigthat stores configuration of the rule heads that should be induced by the rule learner.- Returns:
A reference to a
Propertythat allows to access theIHeadConfigthat stores the configuration of the rule heads
-
virtual ReadableProperty<IStatisticsConfig> getStatisticsConfig() const = 0¶
Returns a
ReadablePropertythat allows to access theIStatisticsConfigthat stores the configuration of the statistics that should be used by the rule learner.- Returns:
A
ReadablePropertythat allows to access theIStatisticsConfigthat stores the configuration of the statistics
-
virtual Property<IStatisticTypeConfig> getStatisticTypeConfig() = 0¶
Returns a
Propertythat allows to access theIStatisticTypeConfigthat 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
SharedPropertythat allows to access theIClassificationStatisticsConfigthat stores the configuration of the statistics that should be used by the rule learner in classification problems.- Returns:
A
SharedPropertythat allows to access theIClassificationStatisticsConfigthat stores the configuration of the statistics
-
virtual SharedProperty<IRegressionStatisticsConfig> getRegressionStatisticsConfig() = 0¶
Returns a
SharedPropertythat allows to access theIRegressionStatisticsConfigthat stores the configuration of the statistics that should be used by the rule learner in regression problems.- Returns:
A
SharedPropertythat allows to access theIRegressionStatisticsConfigthat stores the configuration of the statistics
-
virtual Property<IRegularizationConfig> getL1RegularizationConfig() = 0¶
Returns a
Propertythat allows to access theIRegularizationConfigthat stores the configuration of the L1 regularization term.- Returns:
A reference to an unique pointer of type
IRegularizationConfigthat stores the configuration of the L1 regularization term
-
virtual Property<IRegularizationConfig> getL2RegularizationConfig() = 0¶
Returns a
Propertythat allows to access theIRegularizationConfigthat stores the configuration of the L2 regularization term.- Returns:
A
Propertythat allows to access theIRegularizationConfigthat stores the configuration of the L2 regularization term
-
virtual ReadableProperty<ILossConfig> getLossConfig() const = 0¶
Returns a
ReadablePropertythat allows to access theILossConfigthat stores the configuration of the loss function.- Returns:
A
ReadablePropertythat allows to access theILossConfigthat stores the configuration of the loss function
-
virtual SharedProperty<IClassificationLossConfig> getClassificationLossConfig() = 0¶
Returns a
SharedPropertythat allows to access theIClassificationLossConfigthat stores the configuration of the loss function that should be used in classification problems.- Returns:
A
SharedPropertythat allows to access theIClassificationLossConfigthat stores the configuration of the loss function that should be used in classification problems
-
virtual SharedProperty<IRegressionLossConfig> getRegressionLossConfig() = 0¶
Returns a
SharedPropertythat allows to access theIRegressionLossConfigthat stores the configuration of the loss function that should be used in regression problems.- Returns:
A
SharedPropertythat allows to access theIRegressionLossConfigthat stores the configuration of the loss function that should be used in regression problems
-
virtual Property<ILabelBinningConfig> getLabelBinningConfig() = 0¶
Returns a
Propertythat allows to access theILabelBinningConfigthat stores the configuration of the method for the assignment of labels to bins.- Returns:
A
Propertythat allows to access theILabelBinningConfigthat stores the configuration of the method for the assignment of labels to bins
-
inline virtual ~IBoostedRuleLearnerConfig() override¶
-
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
-
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
-
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
-
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
-
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
IConstantShrinkageConfigthat allows further configuration of the loss function
-
inline virtual ~IConstantShrinkageMixin() override¶
-
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
-
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
-
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
-
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
-
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
-
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
-
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
IManualRegularizationConfigthat allows further configuration of the regularization term
-
inline virtual ~IL1RegularizationMixin() override¶
-
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
-
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
IManualRegularizationConfigthat allows further configuration of the regularization term
-
inline virtual ~IL2RegularizationMixin() override¶
-
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
-
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
-
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
-
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
IFixedPartialHeadConfigthat allows further configuration of the rule heads
-
inline virtual ~IFixedPartialHeadMixin() override¶
-
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
IDynamicPartialHeadConfigthat allows further configuration of the rule heads
-
inline virtual ~IDynamicPartialHeadMixin() override¶
-
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
-
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
-
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
-
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
-
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
-
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.
-
inline virtual ~IOutputWiseScorePredictorMixin() override¶
-
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
-
class IBoostedRuleLearnerConfig : public virtual IRuleLearnerConfig¶