class_docstr: Pipeline-like chaining a fitted classifier and its fitted calibrators.
  
  Parameters
  ----------
  estimator : estimator instance
      Fitted classifier.
  
  calibrators : list of fitted estimator instances
      List of fitted calibrators (either 'IsotonicRegression' or
      '_SigmoidCalibration'). The number of calibrators equals the number of
      classes. However, if there are 2 classes, the list contains only one
      fitted calibrator.
  
  classes : array-like of shape (n_classes,)
      All the prediction classes.
  
  method : {'sigmoid', 'isotonic'}, default='sigmoid'
      The method to use for calibration. Can be 'sigmoid' which
      corresponds to Platt's method or 'isotonic' which is a
      non-parametric approach based on isotonic regression.
docstr: Calculate calibrated probabilities.
  
  Calculates classification calibrated probabilities
  for each class, in a one-vs-all manner, for `X`.
  
  Parameters
  ----------
  X : ndarray of shape (n_samples, n_features)
      The sample data.
  
  Returns
  -------
  proba : array, shape (n_samples, n_classes)
      The predicted probabilities. Can be exact zeros.
docstr_tok: ["Calculate","calibrated","probabilities",".","Calculates","classification","calibrated","probabilities","for","each","class",",","in","a","one-vs-all","manner",",","for","`","X","`",".","Parameters","--","--","--","--","--","X",":","ndarray","of","shape","(","n_samples",",","n_features",")","The","sample","data",".","Returns","--","--","--","-","proba",":","array",",","shape","(","n_samples",",","n_classes",")","The","predicted","probabilities",".","Can","be","exact","zeros","."]
code: def predict_proba(self, X):
      """Calculate calibrated probabilities.
  
      Calculates classification calibrated probabilities
      for each class, in a one-vs-all manner, for `X`.
  
      Parameters
      ----------
      X : ndarray of shape (n_samples, n_features)
          The sample data.
  
      Returns
      -------
      proba : array, shape (n_samples, n_classes)
          The predicted probabilities. Can be exact zeros.
      """
      n_classes = len(self.classes)
      pred_method, method_name = _get_prediction_method(self.estimator)
      predictions = _compute_predictions(
          pred_method, method_name, X, n_classes
      )
  
      label_encoder = LabelEncoder().fit(self.classes)
      pos_class_indices = label_encoder.transform(
          self.estimator.classes_
      )
  
      proba = np.zeros((_num_samples(X), n_classes))
      for class_idx, this_pred, calibrator in zip(
          pos_class_indices, predictions.T, self.calibrators
      ):
          if n_classes == 2:
              # When binary, `predictions` consists only of predictions for
              # clf.classes_[1] but `pos_class_indices` = 0
              class_idx += 1
          proba[:, class_idx] = calibrator.predict(this_pred)
  
      # Normalize the probabilities
      if n_classes == 2:
          proba[:, 0] = 1.0 - proba[:, 1]
      else:
          denominator = np.sum(proba, axis=1)[:, np.newaxis]
          # In the edge case where for each class calibrator returns a null
          # probability for a given sample, use the uniform distribution
          # instead.
          uniform_proba = np.full_like(proba, 1 / n_classes)
          proba = np.divide(
              proba,
              denominator,
              out=uniform_proba,
              where=denominator != 0,
          )
  
      # Deal with cases where the predicted probability minimally exceeds 1.0
      proba[(1.0 < proba) & (proba <= 1.0 + 1e-5)] = 1.0
  
      return proba
  
imports: import warnings
  from functools import partial
  from inspect import signature
  from math import log
  from numbers import Integral, Real
  import numpy
  from scipy.optimize import fmin_bfgs
  from scipy.special import expit, xlogy
  from sklearn.utils import Bunch
  from .base import BaseEstimator, ClassifierMixin, MetaEstimatorMixin, RegressorMixin, _fit_context, clone
  from .isotonic import IsotonicRegression
  from .model_selection import check_cv, cross_val_predict
  from .preprocessing import LabelEncoder, label_binarize
  from .svm import LinearSVC
  from .utils import _safe_indexing, column_or_1d, indexable
  from .utils._param_validation import HasMethods, Hidden, Interval, StrOptions, validate_params
  from .utils._plotting import _BinaryClassifierCurveDisplayMixin
  from .utils.metadata_routing import MetadataRouter, MethodMapping, _routing_enabled, process_routing
  from .utils.multiclass import check_classification_targets
  from .utils.parallel import Parallel, delayed
  from .utils.validation import _check_fit_params, _check_pos_label_consistency, _check_sample_weight, _num_samples, check_consistent_length, check_is_fitted
label_desc: Use image node_id 2 for calling the _CalibratedClassifier obj's underlying member method code with example usage: obj.predict_proba(X) and returns: proba