IsotonicRegression¶
-
class
pycalib.calibration_methods.
IsotonicRegression
(out_of_bounds='clip')[source]¶ Bases:
pycalib.calibration_methods.CalibrationMethod
Probability calibration using Isotonic Regression
Isotonic regression 1 2 is a non-parametric approach to mapping (non-probabilistic) classifier scores to probabilities. It assumes an isotonic (non-decreasing) relationship between classifier scores and probabilities.
- Parameters
out_of_bounds (string, optional, default: "clip") – The
out_of_bounds
parameter handles how x-values outside of the training domain are handled. When set to “nan”, predicted y-values will be NaN. When set to “clip”, predicted y-values will be set to the value corresponding to the nearest train interval endpoint. When set to “raise”, allowinterp1d
to throw ValueError.
References
- 1
Transforming Classifier Scores into Accurate Multiclass Probability Estimates, B. Zadrozny & C. Elkan, (KDD 2002)
- 2
Predicting Good Probabilities with Supervised Learning, A. Niculescu-Mizil & R. Caruana, ICML 2005
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.