File predictor_binary_label_wise.hpp

namespace boosting
class ILabelWiseBinaryPredictorConfig
#include <predictor_binary_label_wise.hpp>

Defines an interface for all classes that allow to configure a predictor that predicts whether individual labels of given query examples are relevant or irrelevant by discretizing the regression scores or probability estimates that are predicted for each label individually.

Subclassed by boosting::LabelWiseBinaryPredictorConfig

Public Functions

inline virtual ~ILabelWiseBinaryPredictorConfig()
virtual bool isBasedOnProbabilities() const = 0

Returns whether binary predictions are derived from probability estimates rather than regression scores or not.

Returns:

True, if binary predictions are derived from probability estimates rather than regression scores, false otherwise

virtual ILabelWiseBinaryPredictorConfig &setBasedOnProbabilities(bool basedOnProbabilities) = 0

Sets whether binary predictions should be derived from probability estimates rather than regression scores or not.

Parameters:

basedOnProbabilities – True, if binary predictions should be derived from probability estimates rather than regression scores, false otherwise

Returns:

A reference to an object of type ILabelWiseBinaryPredictorConfig that allows further configuration of the predictor

virtual bool isProbabilityCalibrationModelUsed() const = 0

Returns whether a model for the calibration of probabilities is used, if available, or not.

Returns:

True, if a model for the calibration of probabilities is used, if available, false otherwise

virtual ILabelWiseBinaryPredictorConfig &setUseProbabilityCalibrationModel(bool useProbabilityCalibrationModel) = 0

Sets whether a model for the calibration of probabilities should be used, if available, or not.

Parameters:

useProbabilityCalibrationModel – True, if a model for the calibration of probabilities should be used, if available, false otherwise

Returns:

A reference to an object of type ILabelWiseBinaryPredictorConfig that allows further configuration of the predictor

class LabelWiseBinaryPredictorConfig : public boosting::ILabelWiseBinaryPredictorConfig, public IBinaryPredictorConfig
#include <predictor_binary_label_wise.hpp>

Allows to configure a predictor that predicts whether individual labels of given query examples are relevant or irrelevant by discretizing the regression scores or probability estimates that are predicted for each label individually.

Public Functions

LabelWiseBinaryPredictorConfig(const std::unique_ptr<ILossConfig> &lossConfigPtr, const std::unique_ptr<IMultiThreadingConfig> &multiThreadingConfigPtr)
Parameters:
  • lossConfigPtr – A reference to an unique pointer that stores the configuration of the loss function

  • multiThreadingConfigPtr – A reference to an unique pointer that stores the configuration of the multi-threading behavior that should be used to predict for several query examples in parallel

virtual bool isBasedOnProbabilities() const override

Returns whether binary predictions are derived from probability estimates rather than regression scores or not.

Returns:

True, if binary predictions are derived from probability estimates rather than regression scores, false otherwise

virtual ILabelWiseBinaryPredictorConfig &setBasedOnProbabilities(bool basedOnProbabilities) override

Sets whether binary predictions should be derived from probability estimates rather than regression scores or not.

Parameters:

basedOnProbabilities – True, if binary predictions should be derived from probability estimates rather than regression scores, false otherwise

Returns:

A reference to an object of type ILabelWiseBinaryPredictorConfig that allows further configuration of the predictor

virtual bool isProbabilityCalibrationModelUsed() const override

Returns whether a model for the calibration of probabilities is used, if available, or not.

Returns:

True, if a model for the calibration of probabilities is used, if available, false otherwise

virtual ILabelWiseBinaryPredictorConfig &setUseProbabilityCalibrationModel(bool useProbabilityCalibrationModel) override

Sets whether a model for the calibration of probabilities should be used, if available, or not.

Parameters:

useProbabilityCalibrationModel – True, if a model for the calibration of probabilities should be used, if available, false otherwise

Returns:

A reference to an object of type ILabelWiseBinaryPredictorConfig that allows further configuration of the predictor

std::unique_ptr<IBinaryPredictorFactory> createPredictorFactory(const IRowWiseFeatureMatrix &featureMatrix, uint32 numLabels) const override

See also

IPredictorFactory::createPredictorFactory

std::unique_ptr<ISparseBinaryPredictorFactory> createSparsePredictorFactory(const IRowWiseFeatureMatrix &featureMatrix, uint32 numLabels) const override

See also

IBinaryPredictorFactory::createSparsePredictorFactory

bool isLabelVectorSetNeeded() const override

See also

IPredictorConfig::isLabelVectorSetNeeded

Private Members

bool basedOnProbabilities_
std::unique_ptr<IMarginalProbabilityCalibrationModel> noMarginalProbabilityCalibrationModelPtr_
const std::unique_ptr<ILossConfig> &lossConfigPtr_
const std::unique_ptr<IMultiThreadingConfig> &multiThreadingConfigPtr_