code: def _samme_proba(estimator, n_classes, X):
      """Calculate algorithm 4, step 2, equation c) of Zhu et al [1].
  
      References
      ----------
      .. [1] J. Zhu, H. Zou, S. Rosset, T. Hastie, "Multi-class AdaBoost", 2009.
  
      """
      proba = estimator.predict_proba(X)
  
      # Displace zero probabilities so the log is defined.
      # Also fix negative elements which may occur with
      # negative sample weights.
      proba[proba < np.finfo(proba.dtype).eps] = np.finfo(
          proba.dtype
      ).eps
      log_proba = np.log(proba)
  
      return (n_classes - 1) * (
          log_proba
          - (1.0 / n_classes) * log_proba.sum(axis=1)[:, np.newaxis]
      )
  
imports: from abc import ABCMeta, abstractmethod
  import numpy
  from numpy.core.umath_tests import inner1d
  from .base import BaseEnsemble
  from ..base import ClassifierMixin, RegressorMixin, is_regressor
  from ..externals import six
  from ..externals.six.moves import zip
  from ..externals.six.moves import xrange
  from .forest import BaseForest
  from ..tree import DecisionTreeClassifier, DecisionTreeRegressor
  from ..tree.tree import BaseDecisionTree
  from ..tree._tree import DTYPE
  from ..utils import check_array, check_X_y, check_random_state
  from ..metrics import accuracy_score, r2_score
  from sklearn.utils.validation import has_fit_parameter, check_is_fitted
label_desc: Use image node_id 1 for calling a global function with example usage: _samme_proba(estimator, n_classes, X) and returns: unknown