File post_optimization.hpp

class IPostOptimizationPhase
#include <post_optimization.hpp>

Defines an interface for all classes that allow to optimize a rule-based model globally once it has been learned.

Subclassed by IPostOptimization

Public Functions

inline virtual ~IPostOptimizationPhase()
virtual void optimizeModel(IFeatureSpace &featureSpace, const IRuleInduction &ruleInduction, IPartition &partition, ILabelSampling &labelSampling, IInstanceSampling &instanceSampling, IFeatureSampling &featureSampling, const IRulePruning &rulePruning, const IPostProcessor &postProcessor, RNG &rng) const = 0

Optimizes a rule-based model globally once it has been learned.

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

  • ruleInduction – A reference to an object of type IRuleInduction that should be used for inducing new 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 that should be used for sampling labels

  • instanceSampling – A reference to an object of type IInstanceSampling that should be used for sampling examples

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

  • rulePruning – A reference to an object of type IRulePruning that should be used to prune new rules

  • postProcessor – A reference to an object of type IPostProcessor that should be used to post-process the predictions of new rules

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

class IPostOptimizationPhaseFactory
#include <post_optimization.hpp>

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

Public Functions

inline virtual ~IPostOptimizationPhaseFactory()
virtual std::unique_ptr<IPostOptimizationPhase> create(IntermediateModelBuilder &modelBuilder) const = 0

Creates and returns a new object of type IPostOptimizationPhase.

Parameters:

modelBuilder – A reference to an object of type IntermediateModelBuilder that provides access to the rules in the model

Returns:

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

class IPostOptimizationPhaseConfig
#include <post_optimization.hpp>

Defines an interface for all classes that allow to configure a method that optimizes a rule-based model globally once it has been learned.

Subclassed by SequentialPostOptimizationConfig, UnusedRuleRemovalConfig

Public Functions

inline virtual ~IPostOptimizationPhaseConfig()
virtual std::unique_ptr<IPostOptimizationPhaseFactory> createPostOptimizationPhaseFactory() const = 0

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

Returns:

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

class IPostOptimization : public IPostOptimizationPhase
#include <post_optimization.hpp>

Defines an interface for all classes that allow to optimize a rule-based model globally once it has been learned by carrying out several optimization phases.

Public Functions

inline virtual ~IPostOptimization() override
virtual IModelBuilder &getModelBuilder() const = 0

Returns an IModelBuilder that is suited for post-optimization via this object. Rules that are induced during training must be added to the returned builder.

Returns:

A reference to an object of type IModelBuilder that is suited for post-optimization

class IPostOptimizationFactory
#include <post_optimization.hpp>

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

Subclassed by PostOptimizationPhaseListFactory

Public Functions

inline virtual ~IPostOptimizationFactory()
virtual std::unique_ptr<IPostOptimization> create(const IModelBuilderFactory &modelBuilderFactory) const = 0

Creates and returns a new object of type IPostOptimization.

Parameters:

modelBuilderFactory – A reference to an object of type IModelBuilderFactory that allows to create the builder to be used for assembling a model

Returns:

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