File probability_calibration_isotonic.hpp

Functions

std::unique_ptr<IIsotonicProbabilityCalibrationModel> createIsotonicProbabilityCalibrationModel(uint32 numLists)

Creates and returns a new object of the type IIsotonicProbabilityCalibrationModel.

Parameters:

numLists – The total number of lists for storing bins

Returns:

An unique pointer to an object of type IIsotonicProbabilityCalibrationModel that has been created

class IIsotonicProbabilityCalibrationModel : public IMarginalProbabilityCalibrationModel, public IJointProbabilityCalibrationModel
#include <probability_calibration_isotonic.hpp>

Defines an interface for all models for the calibration of marginal or joint probabilities via isotonic regression.

Subclassed by IsotonicProbabilityCalibrationModel

Public Types

typedef std::function<void(uint32 listIndex, float64 threshold, float64 probability)> BinVisitor

A visitor function for handling individual bins.

Public Functions

inline virtual ~IIsotonicProbabilityCalibrationModel() override
virtual uint32 getNumBinLists() const = 0

Returns the number of available list of bins.

Returns:

The number of available list of bins

virtual void addBin(uint32 listIndex, float64 threshold, float64 probability) = 0

Adds a new bin to the calibration model.

Parameters:
  • listIndex – The index of the list, the bin should be added to

  • threshold – The threshold of the bin

  • probability – The probability of the bin

virtual void visit(BinVisitor visitor) const = 0

Invokes the given visitor function for each bin that is contained by the calibration model.

Parameters:

visitor – The visitor function for handling individual bins

class IsotonicProbabilityCalibrationModel : public IterableListOfListsDecorator<ViewDecorator<AllocatedListOfLists<Tuple<float64>>>>, public IIsotonicProbabilityCalibrationModel
#include <probability_calibration_isotonic.hpp>

A model for the calibration of marginal or joint probabilities via isotonic regression.

Public Functions

IsotonicProbabilityCalibrationModel(uint32 numLists)
Parameters:

numLists – The total number of lists for storing bins

void fit()

Fits the isotonic calibration model.

virtual float64 calibrateMarginalProbability(uint32 labelIndex, float64 marginalProbability) const override

Calibrates the marginal probability that is predicted for a specific label.

Parameters:
  • labelIndex – The index of the label, the probability is predicted for

  • marginalProbability – The marginal probability to be calibrated

Returns:

The calibrated probability

virtual float64 calibrateJointProbability(uint32 labelVectorIndex, float64 jointProbability) const override

Calibrates a joint probability.

Parameters:
  • labelVectorIndex – The index of the label vector, the probability is predicted for

  • jointProbability – The joint probability to be calibrated

Returns:

The calibrated probability

virtual uint32 getNumBinLists() const override

Returns the number of available list of bins.

Returns:

The number of available list of bins

virtual void addBin(uint32 listIndex, float64 threshold, float64 probability) override

Adds a new bin to the calibration model.

Parameters:
  • listIndex – The index of the list, the bin should be added to

  • threshold – The threshold of the bin

  • probability – The probability of the bin

virtual void visit(BinVisitor visitor) const override

Invokes the given visitor function for each bin that is contained by the calibration model.

Parameters:

visitor – The visitor function for handling individual bins