File learner_regression_common.hpp

class AbstractRegressionRuleLearner : public virtual IRegressionRuleLearner
#include <learner_regression_common.hpp>

An abstract base class for all rule learners that can be used in regression problems.

Public Functions

inline explicit AbstractRegressionRuleLearner(const RuleLearnerConfigurator &configurator)
Parameters:

configurator – A reference to an object of type RuleLearnerConfigurator that allows to configure the individual modules to be used by the rule learner

inline virtual ~AbstractRegressionRuleLearner() override
inline virtual std::unique_ptr<ITrainingResult> fit(const IExampleWeights &exampleWeights, const IFeatureInfo &featureInfo, const IColumnWiseFeatureMatrix &featureMatrix, const IRowWiseRegressionMatrix &regressionMatrix) const override

Applies the rule learner to given training examples and corresponding ground truth regression scores.

Parameters:
  • exampleWeights – A reference to an object of type IExampleWeights that provides access to the weights of the training examples

  • featureInfo – A reference to an object of type IFeatureInfo that provides information about the types of individual features

  • featureMatrix – A reference to an object of type IColumnWiseFeatureMatrix that provides column-wise 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 ground truth regression scores of the training examples

Returns:

An unique pointer to an object of type ITrainingResult that provides access to the results of fitting the rule learner to the training data

inline virtual bool canPredictScores(const IRowWiseFeatureMatrix &featureMatrix, uint32 numLabels) const override

Returns whether the rule learner is able to predict scores or not.

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:

True, if the rule learner is able to predict scores, false otherwise

inline virtual std::unique_ptr<IScorePredictor> createScorePredictor(const IRowWiseFeatureMatrix &featureMatrix, const IRuleModel &ruleModel, const IOutputSpaceInfo &outputSpaceInfo, uint32 numOutputs) const override

Creates and returns a predictor that may be used to predict scores for given query examples. If the prediction of scores is not supported by the rule learner, a std::runtime_error is thrown.

Throws:

std::runtime_exception – The exception that is thrown if the prediction of scores is not supported by the rule learner

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

  • ruleModel – A reference to an object of type IRuleModel that should be used to obtain predictions

  • outputSpaceInfo – A reference to an object of type IOutputSpaceInfo that provides information about the output space that may be used as a basis for obtaining predictions

  • numOutputs – The number of outputs to predict for

Returns:

An unique pointer to an object of type IScorePredictor that may be used to predict scores for the given query examples

Private Members

const RuleLearnerConfigurator &configurator_