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(IPartition &partition, IOutputSampling &outputSampling, IInstanceSampling &instanceSampling, IFeatureSampling &featureSampling, IFeatureSpace &featureSpace) const = 0

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

Parameters:
  • 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

  • outputSampling – A reference to an object of type IOutputSampling that should be used for sampling outputs

  • 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

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

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 NoPostOptimizationPhaseConfig, SequentialPostOptimizationConfig, UnusedRuleRemovalConfig

Public Functions

inline virtual ~IPostOptimizationPhaseConfig()
virtual std::unique_ptr<IPostOptimizationPhaseFactory> createPostOptimizationPhaseFactory(const IFeatureMatrix &featureMatrix, const IOutputMatrix &outputMatrix) const = 0

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

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

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