File predictor_binary_gfm.hpp

namespace boosting
class IGfmBinaryPredictorConfig
#include <predictor_binary_gfm.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 according to the general F-measure maximizer (GFM).

Subclassed by boosting::GfmBinaryPredictorConfig

Public Functions

inline virtual ~IGfmBinaryPredictorConfig()
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 IGfmBinaryPredictorConfig &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 IGfmBinaryPredictorConfig that allows further configuration of the predictor

class GfmBinaryPredictorConfig : public boosting::IGfmBinaryPredictorConfig, public IBinaryPredictorConfig
#include <predictor_binary_gfm.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 according to the general F-measure maximizer (GFM).

Public Functions

GfmBinaryPredictorConfig(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 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 IGfmBinaryPredictorConfig &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 IGfmBinaryPredictorConfig 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

std::unique_ptr<IMarginalProbabilityCalibrationModel> noMarginalProbabilityCalibrationModelPtr_
std::unique_ptr<IJointProbabilityCalibrationModel> noJointProbabilityCalibrationModelPtr_
const std::unique_ptr<ILossConfig> &lossConfigPtr_
const std::unique_ptr<IMultiThreadingConfig> &multiThreadingConfigPtr_