code: def make_scorer_with_error_score(
      score_func,
      *,
      greater_is_better=True,
      needs_proba=False,
      needs_threshold=False,
      error_score=np.nan,
      **kwargs,
  ):
      """Make a scorer from a performance metric or loss function.
  
      This factory function wraps scoring functions for use in GridSearchCV
      and cross_val_score. It takes a score function, such as ``accuracy_score``,
      ``mean_squared_error``, ``adjusted_rand_index`` or ``average_precision``
      and returns a callable that scores an estimator's output.
  
      Read more in the :ref:`User Guide <scoring>`.
  
      Parameters
      ----------
      score_func : callable,
          Score function (or loss function) with signature
          ``score_func(y, y_pred, **kwargs)``.
  
      greater_is_better : boolean, default=True
          Whether score_func is a score function (default), meaning high is good,
          or a loss function, meaning low is good. In the latter case, the
          scorer object will sign-flip the outcome of the score_func.
  
      needs_proba : boolean, default=False
          Whether score_func requires predict_proba to get probability estimates
          out of a classifier.
  
          If True, for binary `y_true`, the score function is supposed to accept
          a 1D `y_pred` (i.e., probability of the positive class, shape
          `(n_samples,)`).
  
      needs_threshold : boolean, default=False
          Whether score_func takes a continuous decision certainty.
          This only works for binary classification using estimators that
          have either a decision_function or predict_proba method.
  
          If True, for binary `y_true`, the score function is supposed to accept
          a 1D `y_pred` (i.e., probability of the positive class or the decision
          function, shape `(n_samples,)`).
  
          For example ``average_precision`` or the area under the roc curve
          can not be computed using discrete predictions alone.
  
      **kwargs : additional arguments
          Additional parameters to be passed to score_func.
  
      Returns
      -------
      scorer : callable
          Callable object that returns a scalar score; greater is better.
  
      Examples
      --------
      >>> from sklearn.metrics import fbeta_score, make_scorer
      >>> ftwo_scorer = make_scorer(fbeta_score, beta=2)
      >>> ftwo_scorer
      make_scorer(fbeta_score, beta=2)
      >>> from sklearn.model_selection import GridSearchCV
      >>> from sklearn.svm import LinearSVC
      >>> grid = GridSearchCV(LinearSVC(), param_grid={'C': [1, 10]},
      ...                     scoring=ftwo_scorer)
  
      Notes
      -----
      If `needs_proba=False` and `needs_threshold=False`, the score
      function is supposed to accept the output of :term:`predict`. If
      `needs_proba=True`, the score function is supposed to accept the
      output of :term:`predict_proba` (For binary `y_true`, the score function is
      supposed to accept probability of the positive class). If
      `needs_threshold=True`, the score function is supposed to accept the
      output of :term:`decision_function`.
      """
      sign = 1 if greater_is_better else -1
      if needs_proba and needs_threshold:
          raise ValueError(
              "Set either needs_proba or needs_threshold to True,"
              " but not both."
          )
      if needs_proba:
          cls = _ProbaScorerWithErrorScore
      elif needs_threshold:
          cls = _ThresholdScorerWithErrorScore
      else:
          cls = _PredictScorerWithErrorScore
      return cls(score_func, sign, kwargs, error_score)
  
imports: import traceback
  import warnings
  from typing import Callable
  import numpy
  from sklearn.exceptions import FitFailedWarning
  from sklearn.metrics._scorer import _PredictScorer, _ProbaScorer, _ThresholdScorer
  from sklearn.preprocessing import LabelEncoder
  from sklearn.utils import _safe_indexing
  from pycaret.utils.generic import get_label_encoder
label_desc: Use image node_id 2 for calling a global function with example usage: make_scorer_with_error_score(score_func) and returns: cls