BayesianBinningQuantiles¶
-
class
pycalib.calibration_methods.
BayesianBinningQuantiles
(C=10, input_range=[0, 1])[source]¶ Bases:
pycalib.calibration_methods.CalibrationMethod
Probability calibration using Bayesian binning into quantiles
Bayesian binning into quantiles 1 considers multiple equal frequency binning models and combines them through Bayesian model averaging. Each binning model \(M\) is scored according to \(\text{Score}(M) = P(M) \cdot P(D | M),\) where a uniform prior \(P(M)\) is assumed. The marginal likelihood \(P(D | M)\) has a closed form solution under the assumption of independent binomial class distributions in each bin with beta priors.
- Parameters
- 1
Naeini, M. P., Cooper, G. F. & Hauskrecht, M. Obtaining Well Calibrated Probabilities Using Bayesian Binning in Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence, Austin, Texas, USA.
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.
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 ajoblib.parallel_backend
context.-1
means using all processors.
- Returns
self – Returns an instance of self.
- Return type
-
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.