File predictor_probability_marginalized.hpp

namespace boosting
class IMarginalizedProbabilityPredictorConfig
#include <predictor_probability_marginalized.hpp>

Defines an interface for all classes that allow to configure a predictor that predicts label-wise probabilities for given query examples by marginalizing over the joint probabilities of known label vectors.

Subclassed by boosting::MarginalizedProbabilityPredictorConfig

Public Functions

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

class MarginalizedProbabilityPredictorConfig : public boosting::IMarginalizedProbabilityPredictorConfig, public IProbabilityPredictorConfig
#include <predictor_probability_marginalized.hpp>

Allows to configure a predictor that predicts label-wise probabilities for given query examples by marginalizing over the joint probabilities of known label vectors.

Public Functions

MarginalizedProbabilityPredictorConfig(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 IMarginalizedProbabilityPredictorConfig &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 IMarginalizedProbabilityPredictorConfig that allows further configuration of the predictor

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

See also

IProbabilityPredictorConfig::createPredictorFactory

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_