File learner_common.hpp

class TrainingResult : public ITrainingResult
#include <learner_common.hpp>

An implementation of the type ITrainingResult that provides access to the result of training an AbstractRuleLearner.

Public Functions

inline TrainingResult(uint32 numOutputs, std::unique_ptr<IRuleModel> ruleModelPtr, std::unique_ptr<IOutputSpaceInfo> outputSpaceInfoPtr, std::unique_ptr<IMarginalProbabilityCalibrationModel> marginalProbabilityCalibrationModelPtr, std::unique_ptr<IJointProbabilityCalibrationModel> jointProbabilityCalibrationModelPtr)
Parameters:
  • numOutputs – The number of outputs for which a model has been trained

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

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

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

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

inline virtual uint32 getNumOutputs() const override

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

Returns:

The number of outputs

inline virtual std::unique_ptr<IRuleModel> &getRuleModel() override

Returns the model that has been trained.

Returns:

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

inline virtual const std::unique_ptr<IRuleModel> &getRuleModel() const override

Returns the model that has been trained.

Returns:

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

inline virtual std::unique_ptr<IOutputSpaceInfo> &getOutputSpaceInfo() override

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

inline virtual const std::unique_ptr<IOutputSpaceInfo> &getOutputSpaceInfo() const override

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

inline virtual std::unique_ptr<IMarginalProbabilityCalibrationModel> &getMarginalProbabilityCalibrationModel() override

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

inline virtual const std::unique_ptr<IMarginalProbabilityCalibrationModel> &getMarginalProbabilityCalibrationModel() const override

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

inline virtual std::unique_ptr<IJointProbabilityCalibrationModel> &getJointProbabilityCalibrationModel() override

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

inline virtual const std::unique_ptr<IJointProbabilityCalibrationModel> &getJointProbabilityCalibrationModel() const override

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

Private Members

const uint32 numOutputs_
std::unique_ptr<IRuleModel> ruleModelPtr_
std::unique_ptr<IOutputSpaceInfo> outputSpaceInfoPtr_
std::unique_ptr<IMarginalProbabilityCalibrationModel> marginalProbabilityCalibrationModelPtr_
std::unique_ptr<IJointProbabilityCalibrationModel> jointProbabilityCalibrationModelPtr_
class RuleLearnerConfigurator
#include <learner_common.hpp>

An abstract base class for all classes that allow to configure the individual modules of a rule learner, depending on an IRuleLearnerConfig.

Public Functions

inline explicit RuleLearnerConfigurator(IRuleLearnerConfig &config)
Parameters:

config – A reference to an object of type IRuleLearnerConfig

inline virtual ~RuleLearnerConfigurator()
inline virtual std::unique_ptr<IRuleModelAssemblageFactory> createRuleModelAssemblageFactory(const IFeatureMatrix &featureMatrix, const IOutputMatrix &outputMatrix) const

May be overridden by subclasses in order to create the IRuleModelAssemblageFactory to be used by the rule learner for the assemblage of a rule model.

Parameters:
  • featureMatrix – A reference to an object of type IFeatureMatrix that provides access to the feature values of the training examples

  • outputMatrix – A reference to an object of type IOutputMatrix that provides row-wise access to the ground truth of the training examples

Returns:

An unique pointer to an object of type IRuleModelAssemblageFactory that has been created

inline virtual std::unique_ptr<IFeatureSpaceFactory> createFeatureSpaceFactory(const IFeatureMatrix &featureMatrix, const IOutputMatrix &outputMatrix) const

May be overridden by subclasses in order to create the IFeatureSpaceFactory to be used by the rule learner for the assemblage of a rule model.

Parameters:
  • featureMatrix – A reference to an object of type IFeatureMatrix that provides access to the feature values of the training examples

  • outputMatrix – A reference to an object of type IOutputMatrix that provides access to the ground truth of the training examples

Returns:

An unique pointer to an object of type IFeatureSpaceFactory that has been created

inline virtual std::unique_ptr<IOutputSamplingFactory> createOutputSamplingFactory(const IOutputMatrix &outputMatrix) const

May be overridden by subclasses in order to create the IOutputSamplingFactory to be used by the rule learner for sampling from the available outputs.

Parameters:

outputMatrix – A reference to an object of type IOutputMatrix that provides access to the ground truth of the training examples

Returns:

An unique pointer to an object of type IOutputSamplingFactory that has been created

inline virtual std::unique_ptr<IClassificationInstanceSamplingFactory> createClassificationInstanceSamplingFactory() const

May be overridden by subclasses in order to create the IClassificationInstanceSamplingFactory to be used by the rule learner for sampling from the available training examples in classification examples.

Returns:

An unique pointer to an object of type IClassificationInstanceSamplingFactory that has been created

inline virtual std::unique_ptr<IRegressionInstanceSamplingFactory> createRegressionInstanceSamplingFactory() const

May be overridden by subclasses in order to create the IRegressionInstanceSamplingFactory to be used by the rule learner for sampling from the available training examples in regression problems.

Returns:

An unique pointer to an object of type IRegressionInstanceSamplingFactory that has been created

inline virtual std::unique_ptr<IFeatureSamplingFactory> createFeatureSamplingFactory(const IFeatureMatrix &featureMatrix) const

May be overridden by subclasses in order to create the IFeatureSamplingFactory to be used by the rule learner for sampling from the available features.

Parameters:

featureMatrix – A reference to an object of type IFeatureMatrix that provides access to the feature values of the training examples

Returns:

An unique pointer to an object of type IFeatureSamplingFactory that has been created

inline virtual std::unique_ptr<IClassificationPartitionSamplingFactory> createClassificationPartitionSamplingFactory() const

May be overridden by subclasses in order to create the IClassificationPartitionSamplingFactory to be used by the rule learner for partitioning the available examples in classification problems.

Returns:

An unique pointer to an object of type IClassificationPartitionSamplingFactory that has been created

inline virtual std::unique_ptr<IRegressionPartitionSamplingFactory> createRegressionPartitionSamplingFactory() const

May be overridden by subclasses in order to create the IRegressionPartitionSamplingFactory to be used by the rule learner for partitioning the available examples in regression problems.

Returns:

An unique pointer to an object of type IRegressionPartitionSamplingFactory that has been created

inline virtual std::unique_ptr<IStoppingCriterionFactory> createSizeStoppingCriterionFactory() const

May be overridden by subclasses in order to create the IStoppingCriterionFactory to be used by the rule learner for stopping the induction of new rules, depending on the number of rules learned so far.

Returns:

An unique pointer to an object of type IStoppingCriterionFactory that has been created or a null pointer, if no such stopping criterion should be used

inline virtual std::unique_ptr<IStoppingCriterionFactory> createTimeStoppingCriterionFactory() const

May be overridden by subclasses in order to create the IStoppingCriterionFactory to be used by the rule learner for stopping the induction of new rules, depending on the time that has passed.

Returns:

An unique pointer to an object of type IStoppingCriterionFactory that has been created or a null pointer, if no such stopping criterion should be used

inline virtual std::unique_ptr<IStoppingCriterionFactory> createGlobalPruningFactory() const

May be overridden by subclasses in order to create the IStoppingCriterionFactory to be used by the rule learner for stopping the induction of new rules, as soon as the quality of predictions does not improve anymore.

Returns:

An unique pointer to an object of type IStoppingCriterionFactory that has been created or a null pointer if no global pruning should be used

inline virtual std::unique_ptr<IPostOptimizationPhaseFactory> createSequentialPostOptimizationFactory(const IFeatureMatrix &featureMatrix, const IOutputMatrix &outputMatrix) const

May be overridden by subclasses in order to create the IPostOptimizationPhaseFactory to be used by the rule learner for post-optimizing the rules in a model by relearning each one of them in the context of the other rules.

Parameters:
  • featureMatrix – A reference to an object of type IFeatureMatrix that provides access to the feature values of the training examples

  • outputMatrix – A reference to an object of type IOutputMatrix that provides access to the ground truth of the training examples

Returns:

An unique pointer to an object of type IPostOptimizationPhaseFactory that has been created

inline virtual std::unique_ptr<IPostOptimizationPhaseFactory> createUnusedRuleRemovalFactory(const IFeatureMatrix &featureMatrix, const IOutputMatrix &outputMatrix) const

May be overridden by subclasses in order to create the IPostOptimizationPhaseFactory to be used by the rule learner for removing unused rules from a model.

Parameters:
  • featureMatrix – A reference to an object of type IFeatureMatrix that provides access to the feature values of the training examples

  • outputMatrix – A reference to an object of type IOutputMatrix that provides access to the ground truth of the training examples

Returns:

An unique pointer to an object of type IPostOptimizationPhaseFactory that has been created

inline virtual std::unique_ptr<IMarginalProbabilityCalibratorFactory> createMarginalProbabilityCalibratorFactory() const

May be overridden by subclasses in order to create the IMarginalProbabilityCalibratorFactory to be used by the rule learner for fitting a model for the calibration of marginal probabilities.

Returns:

An unique pointer to an object of type IMarginalProbabilityCalibratorFactory that has been created

inline virtual std::unique_ptr<IJointProbabilityCalibratorFactory> createJointProbabilityCalibratorFactory() const

May be overridden by subclasses in order to create the IJointProbabilityCalibratorFactory to be used by the rule learner for fitting a model for the calibration of joint probabilities.

Returns:

An unique pointer to an object of type IJointProbabilityCalibratorFactory that has been created

inline virtual void createStoppingCriterionFactories(StoppingCriterionListFactory &factory) const

May be overridden by subclasses in order create objects of the type IStoppingCriterionFactory to be used by the rule learner.

Parameters:

factory – A reference to an object of type StoppingCriterionListFactory the objects may be added to

inline virtual void createPostOptimizationPhaseFactories(PostOptimizationPhaseListFactory &factory, const IFeatureMatrix &featureMatrix, const IOutputMatrix &outputMatrix) const

May be overridden by subclasses in order to create objects of the type IPostOptimizationPhaseFactory to be used by the rule learner.

Parameters:
  • factory – A reference to an object of type PostOptimizationPhaseListFactory the objects may be added to

  • featureMatrix – A reference to an object of type IFeatureMatrix that provides access to the feature values of the training examples

  • outputMatrix – A reference to an object of type IOutputMatrix that provides access to the ground truth of the training examples

inline virtual std::unique_ptr<IOutputSpaceInfo> createOutputSpaceInfo(const IRowWiseLabelMatrix &labelMatrix) const

May be overridden by subclasses in order to create the IOutputSpaceInfo to be used by the rule learner as a basis for for making predictions.

Parameters:

labelMatrix – A reference to an object of type IRowWiseLabelMatrix that provides row-wise access to the labels of the training examples

Returns:

An unique pointer to an object of type IOutputSpaceInfo that has been created

inline virtual std::unique_ptr<IScorePredictorFactory> createScorePredictorFactory(const IRowWiseFeatureMatrix &featureMatrix, uint32 numOutputs) const

May be overridden by subclasses in order to create the IScorePredictorFactory to be used by the rule learner for predicting scores.

Parameters:
  • featureMatrix – A reference to an object of type IRowWiseFeatureMatrix that provides row-wise access to the feature values of the query examples

  • numOutputs – The number of outputs to predict for

Returns:

An unique pointer to an object of type IScorePredictorFactory that has been created or a null pointer, if the rule learner does not support to predict scores

inline virtual std::unique_ptr<IProbabilityPredictorFactory> createProbabilityPredictorFactory(const IRowWiseFeatureMatrix &featureMatrix, uint32 numLabels) const

May be overridden by subclasses in order to create the IProbabilityPredictorFactory to be used by the rule learner for predicting probability estimates.

Parameters:
  • featureMatrix – A reference to an object of type IRowWiseFeatureMatrix that provides row-wise access to the feature values of the query examples

  • numLabels – The number of labels to predict for

Returns:

An unique pointer to an object of type IProbabilityPredictorFactory that has been created or a null pointer, if the rule learner does not support to predict probability estimates

inline virtual std::unique_ptr<IBinaryPredictorFactory> createBinaryPredictorFactory(const IRowWiseFeatureMatrix &featureMatrix, uint32 numLabels) const

May be overridden by subclasses in order to create the IBinaryPredictorFactory to be used by the rule learner for predicting binary labels.

Parameters:
  • featureMatrix – A reference to an object of type IRowWiseFeatureMatrix that provides row-wise access to the feature values of the query examples

  • numLabels – The number of labels to predict for

Returns:

An unique pointer to an object of type IBinaryPredictorFactory that has been created or a null pointer, if the rule learner does not support to predict binary labels

inline virtual std::unique_ptr<ISparseBinaryPredictorFactory> createSparseBinaryPredictorFactory(const IRowWiseFeatureMatrix &featureMatrix, uint32 numLabels) const

May be overridden by subclasses in order to create the ISparseBinaryPredictorFactory to be used by the rule learner for predicting sparse binary labels.

Parameters:
  • featureMatrix – A reference to an object of type IRowWiseFeatureMatrix that provides row-wise access to the feature values of the query examples

  • numLabels – The number of labels to predict for

Returns:

An unique pointer to an object of type ISparseBinaryPredictorFactory that has been created or a null pointer, if the rule learner does not support to predict sparse binary labels

virtual std::unique_ptr<IClassificationStatisticsProviderFactory> createClassificationStatisticsProviderFactory(const IFeatureMatrix &featureMatrix, const IRowWiseLabelMatrix &labelMatrix) const = 0

Must be implemented by subclasses in order to create the IClassificationStatisticsProviderFactory to be used by the rule learner in classification problems.

Parameters:
  • featureMatrix – A reference to an object of type IFeatureMatrix that provides access to the feature values of the training examples

  • labelMatrix – A reference to an object of type IRowWiseLabelMatrix that provides row-wise access to the labels of the training examples

Returns:

An unique pointer to an object of type IClassificationStatisticsProviderFactory that has been created

virtual std::unique_ptr<IRegressionStatisticsProviderFactory> createRegressionStatisticsProviderFactory(const IFeatureMatrix &featureMatrix, const IRowWiseRegressionMatrix &regressionMatrix) const = 0

Must be implemented by subclasses in order to create the IRegressionStatisticsProviderFactory to be used by the rule learner in regression problems.

Parameters:
  • featureMatrix – A reference to an object of type IFeatureMatrix that provides access to the feature values of the training examples

  • regressionMatrix – A reference to an object of type IRowWiseRegressionMatrix that provides row-wise access to the labels of the training examples

Returns:

An unique pointer to an object of type IClassificationStatisticsProviderFactory that has been created

virtual std::unique_ptr<IModelBuilderFactory> createModelBuilderFactory() const = 0

Must be implemented by subclasses in order to create the IModelBuilderFactory to be used by the rule learner.

Returns:

An unique pointer to an object of type IModelBuilderFactory that has been created

Private Members

IRuleLearnerConfig &config_
class RuleLearnerConfig : public virtual IRuleLearnerConfig
#include <learner_common.hpp>

Allows to configure a rule learner.

Public Functions

inline explicit RuleLearnerConfig(RuleCompareFunction ruleCompareFunction)
Parameters:

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

inline virtual ~RuleLearnerConfig() override
inline virtual RuleCompareFunction getRuleCompareFunction() const final override

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

inline virtual Property<RNGConfig> getRNGConfig() final override

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

inline virtual Property<IDefaultRuleConfig> getDefaultRuleConfig() final override

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

inline virtual Property<IRuleModelAssemblageConfig> getRuleModelAssemblageConfig() final override

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

inline virtual Property<IRuleInductionConfig> getRuleInductionConfig() final override

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

inline virtual Property<IRuleRefinementConfig> getRuleRefinementConfig() final override

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

inline virtual Property<IFeatureBinningConfig> getFeatureBinningConfig() final override

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

inline virtual Property<IOutputSamplingConfig> getOutputSamplingConfig() final override

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

inline virtual SharedProperty<IClassificationInstanceSamplingConfig> getClassificationInstanceSamplingConfig() final override

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

inline virtual SharedProperty<IRegressionInstanceSamplingConfig> getRegressionInstanceSamplingConfig() final override

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

inline virtual Property<IFeatureSamplingConfig> getFeatureSamplingConfig() final override

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

inline virtual SharedProperty<IClassificationPartitionSamplingConfig> getClassificationPartitionSamplingConfig() final override

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

inline virtual SharedProperty<IRegressionPartitionSamplingConfig> getRegressionPartitionSamplingConfig() final override

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

inline virtual Property<IRulePruningConfig> getRulePruningConfig() final override

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

inline virtual Property<IPostProcessorConfig> getPostProcessorConfig() final override

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

inline virtual Property<IMultiThreadingConfig> getParallelRuleRefinementConfig() final override

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

inline virtual Property<IMultiThreadingConfig> getParallelStatisticUpdateConfig() final override

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

inline virtual Property<IMultiThreadingConfig> getParallelPredictionConfig() final override

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

inline virtual Property<IStoppingCriterionConfig> getSizeStoppingCriterionConfig() final override

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

inline virtual Property<IStoppingCriterionConfig> getTimeStoppingCriterionConfig() final override

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

inline virtual Property<IGlobalPruningConfig> getGlobalPruningConfig() final override

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

inline virtual Property<IPostOptimizationPhaseConfig> getSequentialPostOptimizationConfig() final override

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

inline virtual Property<IPostOptimizationPhaseConfig> getUnusedRuleRemovalConfig() final override

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

inline virtual Property<IMarginalProbabilityCalibratorConfig> getMarginalProbabilityCalibratorConfig() final override

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

inline virtual Property<IJointProbabilityCalibratorConfig> getJointProbabilityCalibratorConfig() final override

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

inline virtual Property<IScorePredictorConfig> getScorePredictorConfig() final override

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

inline virtual Property<IProbabilityPredictorConfig> getProbabilityPredictorConfig() final override

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

inline virtual Property<IBinaryPredictorConfig> getBinaryPredictorConfig() final override

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

Protected Attributes

std::unique_ptr<RNGConfig> rngConfigPtr_

An unique pointer that stores the configuration of random number generators.

std::unique_ptr<IDefaultRuleConfig> defaultRuleConfigPtr_

An unique pointer that stores the configuration of the default rule that is included in a rule-based model.

std::unique_ptr<IRuleModelAssemblageConfig> ruleModelAssemblageConfigPtr_

An unique pointer that stores the configuration of the method for the induction of several rules that are added to a rule-based model.

std::unique_ptr<IRuleInductionConfig> ruleInductionConfigPtr_

An unique pointer that stores the configuration of the algorithm for the induction of individual rules.

std::unique_ptr<IRuleRefinementConfig> ruleRefinementConfigPtr_

An unique pointer that stores the configuration of the method for finding the best refinements of existing rules.

std::unique_ptr<IFeatureBinningConfig> featureBinningConfigPtr_

An unique pointer that stores the configuration of the method for the assignment of numerical feature values to bins

std::unique_ptr<IOutputSamplingConfig> outputSamplingConfigPtr_

An unique pointer that stores the configuration of the method for sampling outputs.

std::shared_ptr<IClassificationInstanceSamplingConfig> classificationInstanceSamplingConfigPtr_

A shared pointer that stores the configuration of the method for that should be used for sampling instances in classification problems.

std::shared_ptr<IRegressionInstanceSamplingConfig> regressionInstanceSamplingConfigPtr_

A shared pointer that stores the configuration of the method for that should be used for sampling instances in regression problems.

std::unique_ptr<IFeatureSamplingConfig> featureSamplingConfigPtr_

An unique pointer that stores the configuration of the method for sampling features.

std::shared_ptr<IClassificationPartitionSamplingConfig> classificationPartitionSamplingConfigPtr_

A shared pointer that stores the configuration of the method that should be used for partitioning the available training examples in classification problems.

std::shared_ptr<IRegressionPartitionSamplingConfig> regressionPartitionSamplingConfigPtr_

A shared pointer that stores the configuration of the method that should be used for partitioning the available training examples in regression problems.

std::unique_ptr<IRulePruningConfig> rulePruningConfigPtr_

An unique pointer that stores the configuration of the method for pruning individual rules.

std::unique_ptr<IPostProcessorConfig> postProcessorConfigPtr_

An unique pointer that stores the configuration of the method for post-processing the predictions of rules once they have been learned.

std::unique_ptr<IMultiThreadingConfig> parallelRuleRefinementConfigPtr_

An unique pointer that stores the configuration of the multi-threading behavior that is used for the parallel refinement of rules.

std::unique_ptr<IMultiThreadingConfig> parallelStatisticUpdateConfigPtr_

An unique pointer that stores the configuration of the multi-threading behavior that is used for the parallel update of statistics.

std::unique_ptr<IMultiThreadingConfig> parallelPredictionConfigPtr_

An unique pointer that stores the configuration of the multi-threading behavior that is used to predict for several query examples in parallel.

std::unique_ptr<IStoppingCriterionConfig> sizeStoppingCriterionConfigPtr_

An unique pointer that stores the configuration of the stopping criterion that ensures that the number of rules does not exceed a certain maximum.

std::unique_ptr<IStoppingCriterionConfig> timeStoppingCriterionConfigPtr_

An unique pointer that stores the configuration of the stopping criterion that ensures that a certain time limit is not exceeded.

std::unique_ptr<IGlobalPruningConfig> globalPruningConfigPtr_

An unique pointer 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.

std::unique_ptr<IPostOptimizationPhaseConfig> sequentialPostOptimizationConfigPtr_

An unique pointer 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.

std::unique_ptr<IPostOptimizationPhaseConfig> unusedRuleRemovalConfigPtr_

An unique pointer that stores the configuration of the post-optimization method that removes unused rules from a model.

std::unique_ptr<IMarginalProbabilityCalibratorConfig> marginalProbabilityCalibratorConfigPtr_

An unique pointer that stores the configuration of the calibrator that allows to fit a model for the calibration of marginal probabilities.

std::unique_ptr<IJointProbabilityCalibratorConfig> jointProbabilityCalibratorConfigPtr_

An unique pointer that stores the configuration of the calibrator that allows to fit a model for the calibration of joint probabilities.

std::unique_ptr<IScorePredictorConfig> scorePredictorConfigPtr_

An unique pointer that stores the configuration of the predictor that allows to predict scores.

std::unique_ptr<IProbabilityPredictorConfig> probabilityPredictorConfigPtr_

An unique pointer that stores the configuration of the predictor that allows to predict probability estimates.

std::unique_ptr<IBinaryPredictorConfig> binaryPredictorConfigPtr_

An unique pointer that stores the configuration of the predictor that allows to predict binary labels.

Private Members

const RuleCompareFunction ruleCompareFunction_