File rule_model_assemblage.hpp

class IRuleModelAssemblage
#include <rule_model_assemblage.hpp>

Defines an interface for all classes that implement an algorithm for the induction of several rules that will be added to a rule-based model.

Public Functions

inline virtual ~IRuleModelAssemblage()
virtual void induceRules(const IRuleInduction &ruleInduction, const IRulePruning &rulePruning, const IPostProcessor &postProcessor, IPartition &partition, ILabelSampling &labelSampling, IInstanceSampling &instanceSampling, IFeatureSampling &featureSampling, IStatisticsProvider &statisticsProvider, IFeatureSpace &featureSpace, IModelBuilder &modelBuilder, RNG &rng) const = 0

Assembles and returns a rule-based model that consists of several rules.

Parameters:
  • ruleInduction – A reference to an object of type IRuleInduction to be used for the induction of individual rules

  • rulePruning – A reference to an object of type IRulePruning to be used for pruning rules

  • postProcessor – A reference to an object of type IPostProcessor to be used for post-processing the predictions of rules

  • partition – A reference to an object of type IPartition that provides access to the indices of the training examples that belong to the training set and the holdout set, respectively

  • labelSampling – A reference to an object of type ILabelSampling to be used for sampling the labels whenever a new rule is induced

  • instanceSampling – A reference to an object of type IInstanceSampling to be used for sampling the examples whenever a new rule is induced

  • featureSampling – A reference to an object of type IFeatureSampling to be used for sampling the features that may be used by the conditions of a rule

  • statisticsProvider – A reference to an object of type IStatisticsProvider that provides access to the statistics which serve as the basis for learning rules

  • featureSpace – A reference to an object of type IFeatureSpace that provides access to the feature space

  • rng – A reference to an object of type RNG that implements the random number generator to be used

  • modelBuilder – A reference to an object of type IModelBuilder, the rules should be added to

class IRuleModelAssemblageFactory
#include <rule_model_assemblage.hpp>

Defines an interface for all factories that allow to create instances of the type IRuleModelAssemblage.

Public Functions

inline virtual ~IRuleModelAssemblageFactory()
virtual std::unique_ptr<IRuleModelAssemblage> create(std::unique_ptr<IStoppingCriterionFactory> stoppingCriterionFactoryPtr) const = 0

Creates and returns a new object of the type IRuleModelAssemblage.

Parameters:

stoppingCriterionFactoryPtr – An unique pointer to an object of type IStoppingCriterionFactory that allows to create the implementations to be used to decide whether additional rules should be induced or not

class IRuleModelAssemblageConfig
#include <rule_model_assemblage.hpp>

Defines an interface for all classes that allow to configure an algorithm for the induction of several rules that will be added to a rule-based model.

Subclassed by SequentialRuleModelAssemblageConfig

Public Functions

inline virtual ~IRuleModelAssemblageConfig()
virtual std::unique_ptr<IRuleModelAssemblageFactory> createRuleModelAssemblageFactory(const IRowWiseLabelMatrix &labelMatrix) const = 0

Creates and returns a new object of type IRuleModelAssemblageFactory according to specified configuration.

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 IRuleModelAssemblageFactory that has been created