File learner.hpp

class ITrainingResult
#include <learner.hpp>

Defines an interface for all classes that provide access to the results of fitting a rule learner to training data. It incorporates the model that has been trained, as well as additional information that is necessary for obtaining predictions for unseen data.

Subclassed by TrainingResult

Public Functions

inline virtual ~ITrainingResult()
virtual uint32 getNumOutputs() const = 0

Returns the number of outputs for which a model has been trained.

Returns:

The number of outputs

virtual std::unique_ptr<IRuleModel> &getRuleModel() = 0

Returns the model that has been trained.

Returns:

An unique pointer to an object of type IRuleModel that has been trained

virtual const std::unique_ptr<IRuleModel> &getRuleModel() const = 0

Returns the model that has been trained.

Returns:

An unique pointer to an object of type IRuleModel that has been trained

virtual std::unique_ptr<IOutputSpaceInfo> &getOutputSpaceInfo() = 0

Returns information about the output space that may be used as a basis for making predictions.

Returns:

An unique pointer to an object of type IOutputSpaceInfo that may be used as a basis for making predictions

virtual const std::unique_ptr<IOutputSpaceInfo> &getOutputSpaceInfo() const = 0

Returns information about the output space that may be used as a basis for making predictions.

Returns:

An unique pointer to an object of type IOutputSpaceInfo that may be used as a basis for making predictions

virtual std::unique_ptr<IMarginalProbabilityCalibrationModel> &getMarginalProbabilityCalibrationModel() = 0

Returns a model that may be used for the calibration of marginal probabilities.

Returns:

An unique pointer to an object of type IMarginalProbabilityCalibrationModel that may be used for the calibration of marginal probabilities

virtual const std::unique_ptr<IMarginalProbabilityCalibrationModel> &getMarginalProbabilityCalibrationModel() const = 0

Returns a model that may be used for the calibration of marginal probabilities.

Returns:

An unique pointer to an object of type IMarginalProbabilityCalibrationModel that may be used for the calibration of marginal probabilities

virtual std::unique_ptr<IJointProbabilityCalibrationModel> &getJointProbabilityCalibrationModel() = 0

Returns a model that may be used for the calibration of joint probabilities.

Returns:

An unique pointer to an object of type IJointProbabilityCalibrationModel that may be used for the calibration of joint probabilities

virtual const std::unique_ptr<IJointProbabilityCalibrationModel> &getJointProbabilityCalibrationModel() const = 0

Returns a model that may be used for the calibration of joint probabilities.

Returns:

An unique pointer to an object of type IJointProbabilityCalibrationModel that may be used for the calibration of joint probabilities

class IRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by IBeamSearchTopDownRuleInductionMixin, IDefaultRuleMixin, IEqualFrequencyFeatureBinningMixin, IEqualWidthFeatureBinningMixin, IExampleWiseStratifiedBiPartitionSamplingMixin, IExampleWiseStratifiedInstanceSamplingMixin, IFeatureSamplingWithoutReplacementMixin, IGreedyTopDownRuleInductionMixin, IInstanceSamplingWithReplacementMixin, IInstanceSamplingWithoutReplacementMixin, IIrepRulePruningMixin, INoBinaryPredictorMixin, INoFeatureBinningMixin, INoFeatureSamplingMixin, INoGlobalPruningMixin, INoInstanceSamplingMixin, INoJointProbabilityCalibrationMixin, INoMarginalProbabilityCalibrationMixin, INoOutputSamplingMixin, INoParallelPredictionMixin, INoParallelRuleRefinementMixin, INoParallelStatisticAggregationMixin, INoParallelStatisticUpdateMixin, INoPartitionSamplingMixin, INoPostProcessorMixin, INoProbabilityPredictorMixin, INoRulePruningMixin, INoScorePredictorMixin, INoSequentialPostOptimizationMixin, INoSizeStoppingCriterionMixin, INoTimeStoppingCriterionMixin, IOutputSamplingWithoutReplacementMixin, IOutputWiseStratifiedBiPartitionSamplingMixin, IOutputWiseStratifiedInstanceSamplingMixin, IParallelPredictionMixin, IParallelRuleRefinementMixin, IParallelStatisticUpdateMixin, IPostPruningMixin, IPrePruningMixin, IRNGMixin, IRandomBiPartitionSamplingMixin, IRoundRobinOutputSamplingMixin, IRuleLearnerMixin, ISequentialPostOptimizationMixin, ISequentialRuleModelAssemblageMixin, ISizeStoppingCriterionMixin, ITimeStoppingCriterionMixin, RuleLearnerConfig

Public Functions

inline virtual ~IRuleLearnerConfig()
virtual void useDefaults() = 0

Configures the rule learner to use the default configuration.

virtual RuleCompareFunction getRuleCompareFunction() const = 0

Returns the definition of the function that should be used for comparing the quality of different rules.

Returns:

An object of type RuleCompareFunction that defines the function that should be used for comparing the quality of different rules

virtual Property<RNGConfig> getRNGConfig() = 0

Returns a Property that allows to access the RNGConfig that stores the configuration of random number generators.

Returns:

A Property that allows to access the RNGConfig that stores the configuration of random number generators

virtual Property<IDefaultRuleConfig> getDefaultRuleConfig() = 0

Returns a Property that allows to access the IDefaultRuleConfig that stores the configuration of the default rule.

Returns:

A Property that allows to access the IDefaultRuleConfig that stores the configuration of the default rule

virtual Property<IRuleModelAssemblageConfig> getRuleModelAssemblageConfig() = 0

Returns a Property that allows to access the IRuleModelAssemblageConfig that stores the configuration of the algorithm for the induction of several rules that will be added to a rule-based model.

Returns:

A Property that allows to access the IRuleModelAssemblageConfig that stores the configuration of the algorithm for the induction of several rules that will be added to a rule-based model

virtual Property<IRuleInductionConfig> getRuleInductionConfig() = 0

Returns a Property that allows to access the IRuleInductionConfig that stores the configuration of the algorithm for the induction of individual rules.

Returns:

A Property that allows to access the IRuleInductionConfig that stores the configuration of the algorithm for the induction of individual rules

virtual Property<IRuleRefinementConfig> getRuleRefinementConfig() = 0

Returns a Property that allows to access the IRuleRefinementConfig that stores the configuration of the method for finding the best refinements of existing rules.

Returns:

A Property that allows to access the IRuleRefinementConfig that stores the configuration of the method for finding the best refinements of existing rules

virtual Property<IFeatureBinningConfig> getFeatureBinningConfig() = 0

Returns a Property that allows to access the IFeatureBinningConfig that stores the configuration of the method for the assignment of numerical feature values to bins.

Returns:

A Property that allows to access the IFeatureBinningConfig that stores the configuration of the method for the assignment of numerical feature values to bins

virtual Property<IOutputSamplingConfig> getOutputSamplingConfig() = 0

Returns a Property that allows to access the IOutputSamplingConfig that stores the configuration of the method for sampling outputs.

Returns:

A Property that allows to access the IOutputSamplingConfig that stores the configuration of the method for sampling outputs

virtual SharedProperty<IClassificationInstanceSamplingConfig> getClassificationInstanceSamplingConfig() = 0

Returns a SharedProperty that allows to access the IClassificationInstanceSamplingConfig that stores the configuration of the method for sampling instances in classification problems.

Returns:

A SharedProperty that allows to access the IClassificationInstanceSamplingConfig that stores the configuration of the method for sampling instances

virtual SharedProperty<IRegressionInstanceSamplingConfig> getRegressionInstanceSamplingConfig() = 0

Returns a SharedProperty that allows to access the IRegressionInstanceSamplingConfig that stores the configuration of the method for sampling instances in regression problems.

Returns:

A SharedProperty that allows to access the IRegressionInstanceSamplingConfig that stores the configuration of the method for sampling instances

virtual Property<IFeatureSamplingConfig> getFeatureSamplingConfig() = 0

Returns a Property that allows to access the IFeatureSamplingConfig that stores the configuration of the method for sampling features.

Returns:

A Property that allows to access the IFeatureSamplingConfig that stores the configuration of the method for sampling features

virtual SharedProperty<IClassificationPartitionSamplingConfig> getClassificationPartitionSamplingConfig() = 0

Returns a SharedProperty that allows to access the IClassificationPartitionSamplingConfig that stores the configuration of the method for partitioning the available training examples in classification problems.

Returns:

A SharedProperty that allows to access the IClassificationPartitionSamplingConfig that stores the configuration of the method for partitioning the available training examples

virtual SharedProperty<IRegressionPartitionSamplingConfig> getRegressionPartitionSamplingConfig() = 0

Returns a SharedProperty that allows to access the IRegressionPartitionSamplingConfig that stores the configuration of the method for partitioning the available training examples in regression problems.

Returns:

A SharedProperty that allows to access the IRegressionPartitionSamplingConfig that stores the configuration of the method for partitioning the available training examples

virtual Property<IRulePruningConfig> getRulePruningConfig() = 0

Returns a Property that allows to access the IRulePruningConfig that stores the configuration of the method for pruning individual rules.

Returns:

A Property that allows to access the IRulePruningConfig that stores the configuration of the method for pruning individual rules

virtual Property<IPostProcessorConfig> getPostProcessorConfig() = 0

Returns a Property that allows to access the IPostProcessorConfig that stores the configuration of the method for post-processing the predictions of rules once they have been learned.

Returns:

A Property that allows to access the IPostProcessorConfig that stores the configuration of the method that post-processes the predictions of rules once they have been learned

virtual Property<IMultiThreadingConfig> getParallelRuleRefinementConfig() = 0

Returns a Property that allows to access the IMultiThreadingConfig that stores the configuration of the multi-threading behavior that is used for the parallel refinement of rules.

Returns:

A Property that allows to access the IMultiThreadingConfig that stores the configuration of the multi-threading behavior that is used for the parallel refinement of rules

virtual Property<IMultiThreadingConfig> getParallelStatisticUpdateConfig() = 0

Returns a Property that allows to access the IMultiThreadingConfig that stores the configuration of the multi-threading behavior that is used for the parallel update of statistics.

Returns:

A Property that allows to access the IMultiThreadingConfig that stores the configuration of the multi-threading behavior that is used for the parallel update of statistics

virtual Property<IMultiThreadingConfig> getParallelPredictionConfig() = 0

Returns a Property that allows to access the IMultiThreadingConfig that stores the configuration of the multi-threading behavior that is used to predict for several query examples in parallel.

Returns:

A Property that allows to access the IMultiThreadingConfig that stores the configuration of the multi-threading behavior that is used to predict for several query examples in parallel

virtual Property<IStoppingCriterionConfig> getSizeStoppingCriterionConfig() = 0

Returns a Property that allows to access the IStoppingCriterionConfig that stores the configuration of the stopping criterion that ensures that the number of rules does not exceed a certain maximum.

Returns:

A Property that allows to access the IStoppingCriterionConfig that stores the configuration of the stopping criterion that ensures that the number of rules does not exceed a certain maximum

virtual Property<IStoppingCriterionConfig> getTimeStoppingCriterionConfig() = 0

Returns a Property that allows to access the IStoppingCriterionConfig that stores the configuration of the stopping criterion that ensures that a certain time limit is not exceeded.

Returns:

A Property that allows to access the IStoppingCriterionConfig that stores the configuration of the stopping criterion that ensures that a certain time limit is not exceeded

virtual Property<IGlobalPruningConfig> getGlobalPruningConfig() = 0

Returns a Property that allows to access the IGlobalPruningConfig that stores the configuration of the stopping criterion that allows to decide how many rules should be included in a model, such that its performance is optimized globally.

Returns:

A Property that allows to access the IGlobalPruningConfig that stores the configuration of the stopping criterion that allows to decide how many rules should be included in a model

virtual Property<IPostOptimizationPhaseConfig> getSequentialPostOptimizationConfig() = 0

Returns a Property that allows to access the IPostOptimizationPhaseConfig that stores the configuration of the post-optimization method that optimizes each rule in a model by relearning it in the context of the other rules.

Returns:

A Property that allows to access the IPostOptimizationPhaseConfig that stores the configuration of the post-optimization method that optimizes each rule in a model by relearning it in the context of the other rules

virtual Property<IPostOptimizationPhaseConfig> getUnusedRuleRemovalConfig() = 0

Returns a Property that allows to access the IPostOptimizationPhaseConfig that stores the configuration of the post-optimization method that removes unused rules from a model.

Returns:

A Property that allows to access the IPostOptimizationPhaseConfig that stores the configuration of the post-optimization method that removes unused rules from a model

virtual Property<IMarginalProbabilityCalibratorConfig> getMarginalProbabilityCalibratorConfig() = 0

Returns a Property that allows to access the IMarginalProbabilityCalibratorConfig that stores the configuration of the calibrator that allows to fit a model for the calibration of marginal probabilities.

Returns:

A Property that allows to access the IMarginalProbabilityCalibratorConfig that stores the configuration of the calibrator that allows to fit a model for the calibration of marginal probabilities

virtual Property<IJointProbabilityCalibratorConfig> getJointProbabilityCalibratorConfig() = 0

Returns a Property that allows to access the IJointProbabilityCalibratorConfig that stores the configuration of the calibrator that allows to fit a model for the calibration of joint probabilities.

Returns:

A Property that allows to access the IJointProbabilityCalibratorConfig that stores the configuration of the calibrator that allows to fit a model for the calibration of joint probabilities

virtual Property<IScorePredictorConfig> getScorePredictorConfig() = 0

Returns a Property that allows to access the IScorePredictorConfig that stores the configuration of the predictor that allows to predict scores.

Returns:

A Property that allows to access the IScorePredictorConfig that stores the configuration of the predictor that allows to predict scores

virtual Property<IProbabilityPredictorConfig> getProbabilityPredictorConfig() = 0

Returns a Property that allows to access the IProbabilityPredictorConfig that stores the configuration of the predictor that allows to predict probability estimates.

Returns:

A Property that allows to access the IProbabilityPredictorConfig that stores the configuration of the predictor that allows to predict probability estimates

virtual Property<IBinaryPredictorConfig> getBinaryPredictorConfig() = 0

Returns a Property that allows to access the IBinaryPredictorConfig that stores the configuration of the predictor that allows to predict binary labels.

Returns:

A Property that allows to access the IBinaryPredictorConfig that stores the configuration of the predictor that allows to predict binary labels

class IRNGMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure the random number generators (RNGs) that are used by a rule learner.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~IRNGMixin() override
inline virtual RNGConfig &useRNG()

Configures the random number generators that are used by the rule learner.

Returns:

A reference to an object of type RNGConfig that allows further configuration of the random number generators

class ISequentialRuleModelAssemblageMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use an algorithm that sequentially induces several rules.

Public Functions

inline virtual ~ISequentialRuleModelAssemblageMixin() override
inline virtual void useSequentialRuleModelAssemblage()

Configures the rule learner to use an algorithm that sequentially induces several rules, optionally starting with a default rule, that are added to a rule-based model.

class IDefaultRuleMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~IDefaultRuleMixin() override
inline virtual void useDefaultRule()

Configures the rule learner to induce a default rule.

class IGreedyTopDownRuleInductionMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a greedy top-down search for the induction of individual rules.

Public Functions

inline virtual ~IGreedyTopDownRuleInductionMixin() override
inline virtual IGreedyTopDownRuleInductionConfig &useGreedyTopDownRuleInduction()

Configures the rule learner to use a greedy top-down search for the induction of individual rules.

Returns:

A reference to an object of type IGreedyTopDownRuleInductionConfig that allows further configuration of the algorithm for the induction of individual rules

class IBeamSearchTopDownRuleInductionMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a top-down beam search.

Public Functions

inline virtual ~IBeamSearchTopDownRuleInductionMixin() override
inline virtual IBeamSearchTopDownRuleInductionConfig &useBeamSearchTopDownRuleInduction()

Configures the rule learner to use a top-down beam search for the induction of individual rules.

Returns:

A reference to an object of type IBeamSearchTopDownRuleInduction that allows further configuration of the algorithm for the induction of individual rules

class INoPostProcessorMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use any post processor.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoPostProcessorMixin() override
inline virtual void useNoPostProcessor()

Configures the rule learner to not use any post processor.

class INoFeatureBinningMixin : public virtual IRuleLearnerConfig
#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 numerical features values to bins.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoFeatureBinningMixin() override
inline virtual void useNoFeatureBinning()

Configures the rule learner to not use any method for the assignment of numerical feature values to bins.

class IEqualWidthFeatureBinningMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use equal-width feature binning.

Public Functions

inline virtual ~IEqualWidthFeatureBinningMixin() override
inline virtual IEqualWidthFeatureBinningConfig &useEqualWidthFeatureBinning()

Configures the rule learner to use a method for the assignment of numerical feature values to bins, such that each bin contains values from equally sized value ranges.

Returns:

A reference to an object of type IEqualWidthFeatureBinningConfig that allows further configuration of the method for the assignment of numerical feature values to bins

class IEqualFrequencyFeatureBinningMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use equal-frequency feature binning.

Public Functions

inline virtual ~IEqualFrequencyFeatureBinningMixin() override
inline virtual IEqualFrequencyFeatureBinningConfig &useEqualFrequencyFeatureBinning()

Configures the rule learner to use a method for the assignment of numerical feature values to bins, such that each bin contains approximately the same number of values.

Returns:

A reference to an object of type IEqualFrequencyFeatureBinningConfig that allows further configuration of the method for the assignment of numerical feature values to bins

class INoOutputSamplingMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoOutputSamplingMixin() override
inline virtual void useNoOutputSampling()

Configures the rule learner to not sample from the available outputs whenever a new rule should be learned.

class IOutputSamplingWithoutReplacementMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use output sampling without replacement.

Public Functions

inline virtual ~IOutputSamplingWithoutReplacementMixin() override
inline virtual IOutputSamplingWithoutReplacementConfig &useOutputSamplingWithoutReplacement()

Configures the rule learner to sample from the available outputs with replacement whenever a new rule should be learned.

Returns:

A reference to an object of type IOutputSamplingWithoutReplacementConfig that allows further configuration of the sampling method

class IRoundRobinOutputSamplingMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to sample one output at a time in a round-robin fashion.

Public Functions

inline virtual ~IRoundRobinOutputSamplingMixin() override
inline virtual void useRoundRobinOutputSampling()

Configures the rule learner to sample one output at a time in a round-robin fashion whenever a new rule should be learned.

class INoInstanceSamplingMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoInstanceSamplingMixin() override
inline virtual void useNoInstanceSampling()

Configures the rule learner to not sample from the available training examples whenever a new rule should be learned.

class IInstanceSamplingWithReplacementMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use instance sampling with replacement.

Public Functions

inline virtual ~IInstanceSamplingWithReplacementMixin() override
inline virtual IInstanceSamplingWithReplacementConfig &useInstanceSamplingWithReplacement()

Configures the rule learner to sample from the available training examples with replacement whenever a new rule should be learned.

Returns:

A reference to an object of type IInstanceSamplingWithReplacementConfig that allows further configuration of the method for sampling instances

class IInstanceSamplingWithoutReplacementMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use instance sampling without replacement.

Public Functions

inline virtual ~IInstanceSamplingWithoutReplacementMixin() override
inline virtual IInstanceSamplingWithoutReplacementConfig &useInstanceSamplingWithoutReplacement()

Configures the rule learner to sample from the available training examples without replacement whenever a new rule should be learned.

Returns:

A reference to an object of type IInstanceSamplingWithoutReplacementConfig that allows further configuration of the method for sampling instances

class INoFeatureSamplingMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoFeatureSamplingMixin() override
inline virtual void useNoFeatureSampling()

Configures the rule learner to not sample from the available features whenever a rule should be refined.

class IFeatureSamplingWithoutReplacementMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use feature sampling without replacement.

Public Functions

inline virtual ~IFeatureSamplingWithoutReplacementMixin() override
inline virtual IFeatureSamplingWithoutReplacementConfig &useFeatureSamplingWithoutReplacement()

Configures the rule learner to sample from the available features with replacement whenever a rule should be refined.

Returns:

A reference to an object of type IFeatureSamplingWithoutReplacementConfig that allows further configuration of the method for sampling features

class INoPartitionSamplingMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not partition the available training examples into a training set and a holdout set.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoPartitionSamplingMixin() override
inline virtual void useNoPartitionSampling()

Configures the rule learner to not partition the available training examples into a training set and a holdout set.

class IRandomBiPartitionSamplingMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to partition the available training example into a training set and a holdout set by randomly splitting the training examples into two mutually exclusive sets.

Public Functions

inline virtual ~IRandomBiPartitionSamplingMixin() override
inline virtual IRandomBiPartitionSamplingConfig &useRandomBiPartitionSampling()

Configures the rule learner to partition the available training examples into a training set and a holdout set by randomly splitting the training examples into two mutually exclusive sets.

Returns:

A reference to an object of type IRandomBiPartitionSamplingConfig that allows further configuration of the method for partitioning the available training examples into a training set and a holdout set

class INoRulePruningMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not prune individual rules.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoRulePruningMixin() override
inline virtual void useNoRulePruning()

Configures the rule learner to not prune individual rules.

class IIrepRulePruningMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to prune individual rules by following the principles of “incremental reduced error pruning” (IREP).

Public Functions

inline virtual ~IIrepRulePruningMixin() override
inline virtual void useIrepRulePruning()

Configures the rule learner to prune individual rules by following the principles of “incremental reduced

error pruning” (IREP).

class INoParallelRuleRefinementMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use any multi-threading for the parallel refinement of rules.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoParallelRuleRefinementMixin() override
inline virtual void useNoParallelRuleRefinement()

Configures the rule learner to not use any multi-threading for the parallel refinement of rules.

class IParallelRuleRefinementMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use multi-threading for the parallel refinement of rules.

Public Functions

inline virtual ~IParallelRuleRefinementMixin() override
inline virtual IManualMultiThreadingConfig &useParallelRuleRefinement()

Configures the rule learner to use multi-threading for the parallel refinement of rules.

Returns:

A reference to an object of type IManualMultiThreadingConfig that allows further configuration of the multi-threading behavior

class INoParallelStatisticAggregationMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use any multi-threading for the parallel aggregation of statistics into histograms.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoParallelStatisticAggregationMixin() override
inline virtual void useNoParallelStatisticAggregation()

Configures the rule learner to not use any multi-threading for the parallel aggregation of statistics into histograms.

class INoParallelStatisticUpdateMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use any multi-threading for the parallel update of statistics.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoParallelStatisticUpdateMixin() override
inline virtual void useNoParallelStatisticUpdate()

Configures the rule learner to not use any multi-threading for the parallel update of statistics.

class IParallelStatisticUpdateMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use multi-threading for the parallel update of statistics.

Public Functions

inline virtual ~IParallelStatisticUpdateMixin() override
inline virtual IManualMultiThreadingConfig &useParallelStatisticUpdate()

Configures the rule learner to use multi-threading for the parallel update of statistics.

Returns:

A reference to an object of type IManualMultiThreadingConfig that allows further configuration of the multi-threading behavior

class INoParallelPredictionMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use any multi-threading for prediction.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoParallelPredictionMixin() override
inline virtual void useNoParallelPrediction()

Configures the rule learner to not use any multi-threading to predict for several query examples in parallel.

class IParallelPredictionMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use multi-threading to predict for several examples in parallel.

Public Functions

inline virtual ~IParallelPredictionMixin() override
inline virtual IManualMultiThreadingConfig &useParallelPrediction()

Configures the rule learner to use multi-threading to predict for several query examples in parallel.

Returns:

A reference to an object of type IManualMultiThreadingConfig that allows further configuration of the multi-threading behavior

class INoSizeStoppingCriterionMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use a stopping criterion that ensures that the number of induced rules does not exceed a certain maximum.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoSizeStoppingCriterionMixin() override
inline virtual void useNoSizeStoppingCriterion()

Configures the rule learner to not use a stopping criterion that ensures that the number of induced rules does not exceed a certain maximum.

class ISizeStoppingCriterionMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a stopping criterion that ensures that the number of induced rules does not exceed a certain maximum.

Public Functions

inline virtual ~ISizeStoppingCriterionMixin() override
inline virtual ISizeStoppingCriterionConfig &useSizeStoppingCriterion()

Configures the rule learner to use a stopping criterion that ensures that the number of induced rules does not exceed a certain maximum.

Returns:

A reference to an object of type ISizeStoppingCriterionConfig that allows further configuration of the stopping criterion

class INoTimeStoppingCriterionMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use a stopping criterion that ensures that a certain time limit is not exceeded.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoTimeStoppingCriterionMixin() override
inline virtual void useNoTimeStoppingCriterion()

Configures the rule learner to not use a stopping criterion that ensures that a certain time limit is not exceeded.

class ITimeStoppingCriterionMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a stopping criterion that ensures that a certain time limit is not exceeded.

Public Functions

inline virtual ~ITimeStoppingCriterionMixin() override
inline virtual ITimeStoppingCriterionConfig &useTimeStoppingCriterion()

Configures the rule learner to use a stopping criterion that ensures that a certain time limit is not exceeded.

Returns:

A reference to an object of type ITimeStoppingCriterionConfig that allows further configuration of the stopping criterion

class IPrePruningMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a stopping criterion that stops the induction of rules as soon as the quality of a model’s predictions for the examples in the training or holdout set do not improve according to a certain measure.

Public Functions

inline virtual ~IPrePruningMixin() override
inline virtual IPrePruningConfig &useGlobalPrePruning()

Configures the rule learner to use a stopping criterion that stops the induction of rules as soon as the quality of a model’s predictions for the examples in the training or holdout set do not improve according to a certain measure.

Returns:

A reference to an object of the type IPrePruningConfig that allows further configuration of the stopping criterion

class INoGlobalPruningMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoGlobalPruningMixin() override
inline virtual void useNoGlobalPruning()

Configures the rule learner to not use global pruning.

class IPostPruningMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a stopping criterion that keeps track of the number of rules in a model that perform best with respect to the examples in the training or holdout set according to a certain measure.

Public Functions

inline virtual ~IPostPruningMixin() override
inline virtual IPostPruningConfig &useGlobalPostPruning()

Configures the rule learner to use a stopping criterion that keeps track of the number of rules in a model that perform best with respect to the examples in the training or holdout set according to a certain measure.

class INoSequentialPostOptimizationMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use a post-optimization method that optimizes each rule in a model by relearning it in the context of the other rules.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoSequentialPostOptimizationMixin() override
inline virtual void useNoSequentialPostOptimization()

Configures the rule learner to not use a post-optimization method that optimizes each rule in a model by relearning it in the context of the other rules.

class ISequentialPostOptimizationMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a post-optimization method that optimizes each rule in a model by relearning it in the context of the other rules.

Public Functions

inline virtual ~ISequentialPostOptimizationMixin() override
inline virtual ISequentialPostOptimizationConfig &useSequentialPostOptimization()

Configures the rule learner to use a post-optimization method that optimizes each rule in a model by relearning it in the context of the other rules.

Returns:

A reference to an object of type ISequentialPostOptimizationConfig that allows further configuration of the post-optimization method

class INoMarginalProbabilityCalibrationMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoMarginalProbabilityCalibrationMixin() override
inline virtual void useNoMarginalProbabilityCalibration()

Configures the rule learner to not calibrate marginal probabilities.

class INoJointProbabilityCalibrationMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoJointProbabilityCalibrationMixin() override
inline virtual void useNoJointProbabilityCalibration()

Configures the rule learner to not calibrate joint probabilities.

class INoScorePredictorMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not predict scores.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoScorePredictorMixin() override
inline virtual void useNoScorePredictor()

Configures the rule learner to not predict scores.

class INoProbabilityPredictorMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not predict probabilities.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoProbabilityPredictorMixin() override
inline virtual void useNoProbabilityPredictor()

Configures the rule learner to not predict probabilities.

class INoBinaryPredictorMixin : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not predict binary labels.

Subclassed by IRuleLearnerMixin

Public Functions

inline virtual ~INoBinaryPredictorMixin() override
inline virtual void useNoBinaryPredictor()

Configures the rule learner to not predict binary labels.

class IRuleLearnerMixin : public virtual IRuleLearnerConfig, public virtual IRNGMixin, public virtual IDefaultRuleMixin, public virtual INoFeatureBinningMixin, public virtual INoOutputSamplingMixin, public virtual INoInstanceSamplingMixin, public virtual INoFeatureSamplingMixin, public virtual INoPartitionSamplingMixin, public virtual INoRulePruningMixin, public virtual INoParallelRuleRefinementMixin, public virtual INoParallelStatisticAggregationMixin, public virtual INoParallelStatisticUpdateMixin, public virtual INoParallelPredictionMixin, public virtual INoSizeStoppingCriterionMixin, public virtual INoTimeStoppingCriterionMixin, public virtual INoSequentialPostOptimizationMixin, public virtual INoPostProcessorMixin, public virtual INoGlobalPruningMixin, public virtual INoScorePredictorMixin, public virtual INoProbabilityPredictorMixin, public virtual INoBinaryPredictorMixin, public virtual INoMarginalProbabilityCalibrationMixin, public virtual INoJointProbabilityCalibrationMixin
#include <learner.hpp>

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

Public Functions

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

Configures the rule learner to use the default configuration.