HistogramBinning

class pycalib.calibration_methods.HistogramBinning(mode='equal_freq', n_bins=20, input_range=[0, 1])[source]

Bases: pycalib.calibration_methods.CalibrationMethod

Probability calibration using histogram binning

Histogram binning 1 is a nonparametric approach to probability calibration. Classifier scores are binned into a given number of bins either based on fixed width or frequency. Classifier scores are then computed based on the empirical frequency of class 1 in each bin.

Parameters
  • mode (str, default='equal_width') – Binning mode used. One of [‘equal_width’, ‘equal_freq’].

  • n_bins (int, default=20) – Number of bins to bin classifier scores into.

  • input_range (list, shape (2,), default=[0, 1]) – Range of the classifier scores.

1

Zadrozny, B. & Elkan, C. Obtaining calibrated probability estimates from decision trees and naive Bayesian classifiers in Proceedings of the 18th International Conference on Machine Learning (ICML, 2001), 609–616.

Methods Summary

fit(X, y[, n_jobs])

Fit the calibration method based on the given uncalibrated class probabilities X and ground truth labels y.

get_params([deep])

Get parameters for this estimator.

plot(filename[, xlim])

Plot the calibration map.

predict(X)

Predict the class of new samples after scaling.

predict_proba(X)

Compute calibrated posterior probabilities for a given array of posterior probabilities from an arbitrary classifier.

set_params(**params)

Set the parameters of this estimator.

Methods Documentation

fit(X, y, n_jobs=None)[source]

Fit the calibration method based on the given uncalibrated class probabilities X and ground truth labels y.

Parameters
  • X (array-like, shape (n_samples, n_classes)) – Training data, i.e. predicted probabilities of the base classifier on the calibration set.

  • y (array-like, shape (n_samples,)) – Target classes.

  • n_jobs (int or None, optional (default=None)) – The number of jobs to use for the computation. None means 1 unless in a joblib.parallel_backend context. -1 means using all processors.

Returns

self – Returns an instance of self.

Return type

object

get_params(deep=True)

Get parameters for this estimator.

Parameters

deep (bool, default=True) – If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns

params – Parameter names mapped to their values.

Return type

mapping of string to any

plot(filename, xlim=[0, 1], **kwargs)

Plot the calibration map.

Parameters
  • xlim (array-like) – Range of inputs of the calibration map to be plotted.

  • **kwargs – Additional arguments passed on to matplotlib.plot().

predict(X)

Predict the class of new samples after scaling. Predictions are identical to the ones from the uncalibrated classifier.

Parameters

X (array-like, shape (n_samples, n_classes)) – The uncalibrated posterior probabilities.

Returns

C – The predicted classes.

Return type

array, shape (n_samples,)

predict_proba(X)[source]

Compute calibrated posterior probabilities for a given array of posterior probabilities from an arbitrary classifier.

Parameters

X (array-like, shape (n_samples, n_classes)) – The uncalibrated posterior probabilities.

Returns

P – The predicted probabilities.

Return type

array, shape (n_samples, n_classes)

set_params(**params)

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Parameters

**params (dict) – Estimator parameters.

Returns

self – Estimator instance.

Return type

object