Skip to content

plot_calibration


method plot_calibration(models=None, rows="test", n_bins=10, target=0, title=None, legend="upper left", figsize=(900, 900), filename=None, display=True)[source]

Plot the calibration curve for a binary classifier.

Well-calibrated classifiers are probabilistic classifiers for which the output of the predict_proba method can be directly interpreted as a confidence level. For instance, a calibrated (binary) classifier should classify the samples such that among the samples to which it gave a predict_proba value close to 0.8, approx. 80% actually belong to the positive class. Read more in sklearn's documentation.

This figure shows two plots: the calibration curve, where the x-axis represents the average predicted probability in each bin and the y-axis is the fraction of positives, i.e., the proportion of samples whose class is the positive class (in each bin); and a distribution of all predicted probabilities of the classifier. This plot is available only for models with a predict_proba method in a binary or multilabel classification task.

Tip

Use the calibrate method to calibrate the winning model.

Parameters models: int, str, Model, segment, sequence or None, default=None
Models to plot. If None, all models are selected.

rows: str, sequence or dict, default="test"
Selection of rows on which to calculate the metric.

  • If str: Name of the data set to plot.
  • If sequence: Names of the data sets to plot.
  • If dict: Names of the sets with corresponding selection of rows as values.

target: int or str, default=0
Target column to look at. Only for multilabel tasks.

n_bins: int, default=10
Number of bins used for calibration. Minimum of 5 required.

title: str, dict or None, default=None
Title for the plot.

legend: str, dict or None, default="upper left"
Legend for the plot. See the user guide for an extended description of the choices.

  • If None: No legend is shown.
  • If str: Position to display the legend.
  • If dict: Legend configuration.

figsize: tuple, default=(900, 900)
Figure's size in pixels, format as (x, y).

filename: str, Path or None, default=None
Save the plot using this name. Use "auto" for automatic naming. The type of the file depends on the provided name (.html, .png, .pdf, etc...). If filename has no file type, the plot is saved as html. If None, the plot is not saved.

display: bool or None, default=True
Whether to render the plot. If None, it returns the figure.

Returns{#plot_calibration-go.Figure or None} go.Figure or None
Plot object. Only returned if display=None.


See Also

plot_lift

Plot the lift curve.

plot_prc

Plot the precision-recall curve.

plot_roc

Plot the Receiver Operating Characteristics curve.


Example

>>> from atom import ATOMClassifier
>>> from sklearn.datasets import make_classification

>>> X, y = make_classification(n_samples=1000, flip_y=0.2, random_state=1)

>>> atom = ATOMClassifier(X, y, random_state=1)
>>> atom.run(["RF", "LGB"])
>>> atom.plot_calibration()