File learner.hpp

namespace seco
class ISeCoRuleLearnerConfig : public virtual IRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner that makes use of the separate-and-conquer (SeCo) paradigm.

Subclassed by seco::IAccuracyHeuristicMixin, seco::IAccuracyPruningHeuristicMixin, seco::ICoverageStoppingCriterionMixin, seco::IFMeasureHeuristicMixin, seco::IFMeasurePruningHeuristicMixin, seco::IKlnLiftFunctionMixin, seco::ILaplaceHeuristicMixin, seco::ILaplacePruningHeuristicMixin, seco::IMEstimateHeuristicMixin, seco::IMEstimatePruningHeuristicMixin, seco::INoCoverageStoppingCriterionMixin, seco::INoLiftFunctionMixin, seco::IOutputWiseBinaryPredictionMixin, seco::IPartialHeadMixin, seco::IPeakLiftFunctionMixin, seco::IPrecisionHeuristicMixin, seco::IPrecisionPruningHeuristicMixin, seco::IRecallHeuristicMixin, seco::IRecallPruningHeuristicMixin, seco::ISingleOutputHeadMixin, seco::IWraHeuristicMixin, seco::IWraPruningHeuristicMixin, seco::SeCoRuleLearnerConfig

Public Functions

inline virtual ~ISeCoRuleLearnerConfig() override
virtual Property<IStoppingCriterionConfig> getCoverageStoppingCriterionConfig() = 0

Returns a Property that allows to access the IStoppingCriterionConfig that stores the configuration of the stopping criterion that stops the induction of rules as soon as the sum of the weights of the uncovered labels is smaller or equal to a certain threshold.

Returns:

A Property that allows to access the IStoppingCriterionConfig that stores the configuration of the stopping criterion that stops the induction of rules as soon as the sum of the weights of the uncovered labels is smaller or equal to a certain threshold

virtual Property<IHeadConfig> getHeadConfig() = 0

Returns a Property that allows to access the IHeadConfig that stores the configuration of the rule heads that should be induced by the rule learner.

Returns:

A Property that allows to access the IHeadConfig that stores the configuration of the rule heads that should be induced by the rule learner

virtual Property<IHeuristicConfig> getHeuristicConfig() = 0

Returns a Property that allows to access the IHeuristicConfig that stores the configuration of the heuristic for learning rules.

Returns:

A Property that allows to access the IHeuristicConfig that stores the configuration of the heuristic for learning rules

virtual Property<IHeuristicConfig> getPruningHeuristicConfig() = 0

Returns a Property that allows to access the IHeuristicConfig that stores the configuration of the heuristic for pruning rules.

Returns:

A Property that allows to access the IHeuristicConfig that stores the configuration of the heuristic for pruning rules

virtual Property<ILiftFunctionConfig> getLiftFunctionConfig() = 0

Returns a Property that allows to access the ILiftFunctionConfig that stores the configuration of the lift function that affects the quality of rules, depending on the number of labels for which they predict.

Returns:

A Property that allows to access the ILiftFunctionConfig that stores the configuration of the lift function that affects the quality of rules, depending on the number of labels for which they predict

class INoCoverageStoppingCriterionMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to not use any stopping criterion that stops the induction of rules as soon as the sum of the weights of the uncovered labels is smaller or equal to a certain threshold.

Subclassed by seco::ISeCoRuleLearnerMixin

Public Functions

inline virtual ~INoCoverageStoppingCriterionMixin() override
inline virtual void useNoCoverageStoppingCriterion()

Configures the rule learner to not use any stopping criterion that stops the induction of rules as soon as the sum of the weights of the uncovered labels is smaller or equal to a certain threshold.

class ICoverageStoppingCriterionMixin : public virtual seco::ISeCoRuleLearnerConfig
#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 sum of the weights of the uncovered labels is smaller or equal to a certain threshold.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~ICoverageStoppingCriterionMixin() override
inline virtual ICoverageStoppingCriterionConfig &useCoverageStoppingCriterion()

Configures the rule learner to use a stopping criterion that stops the induction of rules as soon as the sum of the weights of the uncovered labels is smaller or equal to a certain threshold.

Returns:

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

class ISingleOutputHeadMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to induce rules with single-output heads that predict for a single output.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~ISingleOutputHeadMixin() override
inline virtual void useSingleOutputHeads()

Configures the rule learner to induce rules with single-output heads that predict for a single output.

class IPartialHeadMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to induce rules with partial heads.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IPartialHeadMixin() override
inline virtual void usePartialHeads()

Configures the rule learner to induce rules with partial heads that predict for a subset of the available labels.

class INoLiftFunctionMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

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

Subclassed by seco::ISeCoRuleLearnerMixin

Public Functions

inline virtual ~INoLiftFunctionMixin() override
inline virtual void useNoLiftFunction()

Configures the rule learner to not use a lift function.

class IPeakLiftFunctionMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a lift function that monotonously increases until a certain number of labels, where the maximum lift is reached, and monotonously decreases afterwards.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IPeakLiftFunctionMixin() override
inline virtual IPeakLiftFunctionConfig &usePeakLiftFunction()

Configures the rule learner to use a lift function that monotonously increases until a certain number of labels, where the maximum lift is reached, and monotonously decreases afterwards.

Returns:

A reference to an object of type IPeakLiftFunctionConfig that allows further configuration of the lift function

class IKlnLiftFunctionMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a lift function that monotonously increases according to the natural logarithm of the number of labels for which a rule predicts.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IKlnLiftFunctionMixin() override
inline virtual IKlnLiftFunctionConfig &useKlnLiftFunction()

Configures the rule learner to use a lift function that monotonously increases according to the natural logarithm of the number of labels for which a rule predicts.

Returns:

A reference to an object of type IKlnLiftFunctionConfig that allows further configuration of the lift function

class IAccuracyHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Accuracy” heuristic for learning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IAccuracyHeuristicMixin() override
inline virtual void useAccuracyHeuristic()

Configures the rule learner to use the “Accuracy” heuristic for learning rules.

class IAccuracyPruningHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Accuracy” heuristic for pruning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IAccuracyPruningHeuristicMixin() override
inline virtual void useAccuracyPruningHeuristic()

Configures the rule learner to use the “Accuracy” heuristic for pruning rules.

class IFMeasureHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “F-Measure” heuristic for learning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IFMeasureHeuristicMixin() override
inline virtual IFMeasureConfig &useFMeasureHeuristic()

Configures the rule learner to use the “F-Measure” heuristic for learning rules.

Returns:

A reference to an object of type IFMeasureConfig that allows further configuration of the heuristic

class IFMeasurePruningHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “F-Measure” heuristic for pruning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IFMeasurePruningHeuristicMixin() override
inline virtual IFMeasureConfig &useFMeasurePruningHeuristic()

Configures the rule learner to use the “F-Measure” heuristic for pruning rules.

Returns:

A reference to an object of type IFMeasureConfig that allows further configuration of the heuristic

class IMEstimateHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “M-Estimate” heuristic for learning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IMEstimateHeuristicMixin() override
inline virtual IMEstimateConfig &useMEstimateHeuristic()

Configures the rule learner to use the “M-Estimate” heuristic for learning rules.

Returns:

A reference to an object of type IMEstimateConfig that allows further configuration of the heuristic

class IMEstimatePruningHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “M-Estimate” heuristic for pruning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IMEstimatePruningHeuristicMixin() override
inline virtual IMEstimateConfig &useMEstimatePruningHeuristic()

Configures the rule learner to use the “M-Estimate” heuristic for pruning rules.

Returns:

A reference to an object of type IMEstimateConfig that allows further configuration of the heuristic

class ILaplaceHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Laplace” heuristic for learning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~ILaplaceHeuristicMixin() override
inline virtual void useLaplaceHeuristic()

Configures the rule learner to use the “Laplace” heuristic for learning rules.

class ILaplacePruningHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Laplace” heuristic for pruning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~ILaplacePruningHeuristicMixin() override
inline virtual void useLaplacePruningHeuristic()

Configures the rule learner to use the “Laplace” heuristic for pruning rules.

class IPrecisionHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Precision” heuristic for learning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IPrecisionHeuristicMixin() override
inline virtual void usePrecisionHeuristic()

Configures the rule learner to use the “Precision” heuristic for learning rules.

class IPrecisionPruningHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Precision” heuristic for pruning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IPrecisionPruningHeuristicMixin() override
inline virtual void usePrecisionPruningHeuristic()

Configures the rule learner to use the “Precision” heuristic for pruning rules.

class IRecallHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Recall” heuristic for pruning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IRecallHeuristicMixin() override
inline virtual void useRecallHeuristic()

Configures the rule learner to use the “Recall” heuristic for learning rules.

class IRecallPruningHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Recall” heuristic for pruning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IRecallPruningHeuristicMixin() override
inline virtual void useRecallPruningHeuristic()

Configures the rule learner to use the “Recall” heuristic for pruning rules.

class IWraHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Weighted Relative

Accuracy” (WRA) heuristic for learning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IWraHeuristicMixin() override
inline virtual void useWraHeuristic()

Configures the rule learner to use the “Weighted Relative Accuracy” (WRA) heuristic for learning rules.

class IWraPruningHeuristicMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use the “Weighted Relative

Accuracy” (WRA) heuristic for pruning rules.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IWraPruningHeuristicMixin() override
inline virtual void useWraPruningHeuristic()

Configures the rule learner to use the “Weighted Relative Accuracy” (WRA) heuristic for pruning rules.

class IOutputWiseBinaryPredictionMixin : public virtual seco::ISeCoRuleLearnerConfig
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner to use a predictor for predicting whether individual labels of given query examples are relevant or irrelevant by processing rules of an existing rule-based model in the order they have been learned. If a rule covers an example, its prediction is applied to each label individually.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

inline virtual ~IOutputWiseBinaryPredictionMixin() override
inline virtual void useOutputWiseBinaryPredictor()

Configures the rule learner to use a predictor for predicting whether individual labels of given query examples are relevant or irrelevant by processing rules of an existing rule-based model in the order they have been learned. If a rule covers an example, its prediction is applied to each label individually.

class ISeCoRuleLearnerMixin : public virtual IRuleLearnerMixin, public virtual seco::INoCoverageStoppingCriterionMixin, public virtual seco::INoLiftFunctionMixin
#include <learner.hpp>

Defines an interface for all classes that allow to configure a rule learner that makes use of the separate-and-conquer (SeCo) paradigm to use a simple default configuration.

Subclassed by seco::ISeCoClassifier::IConfig

Public Functions

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

See also

IRuleLearnerConfig::useDefaults