mlrl.boosting.testbed.experiments.output.probability_calibration.model_isotonic module

Author: Michael Rapp (michael.rapp.ml@gmail.com)

Provides classes for representing models for the calibration of probabilities via isotonic regression.

class mlrl.boosting.testbed.experiments.output.probability_calibration.model_isotonic.IsotonicRegressionModel(bin_lists: dict[int, BinList], properties: TabularProperties, context: Context = Context(include_dataset_type=True, include_prediction_scope=True, include_fold=True), column_title_prefix: str | None = None)

Bases: TabularOutputData

Represents an isotonic regression model.

class BinList(thresholds: list[float] = <factory>, probabilities: list[float] = <factory>)

Bases: object

A list of bins that is contained in an isotonic regression model.

Attributes:

thresholds: A list the contains the thresholds of individual bins probabilities: A list that contains the probabilities of individual bins

probabilities: list[float]
thresholds: list[float]
COLUMN_PROBABILITIES = 'probabilities'
COLUMN_THRESHOLDS = 'thresholds'
class Visitor

Bases: IsotonicProbabilityCalibrationModelVisitor

Accesses the thresholds and probabilities stored by an IsotonicProbabilityCalibrationModel and stores them in bins.

bin_lists: dict[int, BinList]
visit_bin(list_index: int, threshold: float, probability: float)

See mlrl.common.cython.probability_calibration.IsotonicProbabilityCalibrationModelVisitor.visit_bin()

static from_calibration_model(calibration_model: IsotonicProbabilityCalibrationModel, properties: TabularProperties, context: Context = Context(include_dataset_type=True, include_prediction_scope=True, include_fold=True), column_title_prefix: str | None = None) IsotonicRegressionModel

Creates and returns an IsotonicRegressionModel from a given IsotonicProbabilityCalibrationModel.

Parameters:
  • calibration_model – An IsotonicProbabilityCalibrationModel

  • properties – The properties of the output data

  • context – A Context to be used by default for finding a suitable sink this output data can be written to

  • column_title_prefix – An optional prefix to be prepended to the titles of table columns that contain thresholds or probabilities

Returns:

The IsotonicRegressionModel that has been created

to_table(options: Options, **kwargs) Table | None

See mlrl.testbed.experiments.output.data.TabularOutputData.to_table()

to_text(options: Options, **kwargs) str | None

See mlrl.testbed.experiments.output.data.TextualOutputData.to_text()