incerto.calibration.HistogramBinningCalibrator#
- class incerto.calibration.HistogramBinningCalibrator(n_bins=10)[source]#
Bases:
BaseCalibratorHistogram binning calibration: bins predicted probabilities and uses empirical frequencies.
- Parameters:
n_bins (
int)
Methods
__init__([n_bins])fit(logits, labels)Fit the calibrator on a validation set.
load(path)Load a calibrator from a file.
load_state_dict(state)Load histogram binning state.
predict(logits)Apply calibration to logits and return a Categorical distribution.
save(path)Save calibrator state to a file.
Save histogram binning state.
- fit(logits, labels)[source]#
Fit the calibrator on a validation set.
This method should learn any calibration parameters needed to map uncalibrated logits to calibrated probabilities.
- Parameters:
- Returns:
For method chaining
- Return type:
self
Note
The validation set used here should be separate from both training and test sets to avoid overfitting the calibration parameters.
- predict(logits)[source]#
Apply calibration to logits and return a Categorical distribution.
This method applies the learned calibration to transform uncalibrated logits into calibrated probabilities.
- Parameters:
logits (
Tensor) – Uncalibrated model outputs of shape (n_samples, n_classes).- Return type:
- Returns:
A torch.distributions.Categorical distribution over calibrated probabilities. Access probabilities via .probs or sample via .sample().
Example
>>> calibrated_dist = calibrator.predict(test_logits) >>> calibrated_probs = calibrated_dist.probs # shape: (n_samples, n_classes) >>> predictions = calibrated_dist.sample() # shape: (n_samples,) >>> log_probs = calibrated_dist.log_prob(labels) # shape: (n_samples,)