docstr: Evaluate the response method of `estimator` on `X` and `y_true`.
  
  Parameters
  ----------
  method_caller : callable
      Returns predictions given an estimator, method name, and other
      arguments, potentially caching results.
  
  estimator : object
      Trained estimator to use for scoring.
  
  X : {array-like, sparse matrix}
      Test data that will be fed to clf.decision_function or
      clf.predict_proba.
  
  y_true : array-like
      Gold standard target values for X. These must be class labels,
      not decision function values.
  
  **kwargs : dict
      Other parameters passed to the scorer. Refer to
      :func:`set_score_request` for more details.
  
  Returns
  -------
  score : float
      Score function applied to prediction of estimator on X.
code: def _score(self, method_caller, estimator, X, y_true, **kwargs):
      """Evaluate the response method of `estimator` on `X` and `y_true`.
  
      Parameters
      ----------
      method_caller : callable
          Returns predictions given an estimator, method name, and other
          arguments, potentially caching results.
  
      estimator : object
          Trained estimator to use for scoring.
  
      X : {array-like, sparse matrix}
          Test data that will be fed to clf.decision_function or
          clf.predict_proba.
  
      y_true : array-like
          Gold standard target values for X. These must be class labels,
          not decision function values.
  
      **kwargs : dict
          Other parameters passed to the scorer. Refer to
          :func:`set_score_request` for more details.
  
      Returns
      -------
      score : float
          Score function applied to prediction of estimator on X.
      """
      self._warn_overlap(
          message=(
              "There is an overlap between set kwargs of this scorer instance and"
              " passed metadata. Please pass them either as kwargs to `make_scorer`"
              " or metadata, but not both."
          ),
          kwargs=kwargs,
      )
  
      pos_label = (
          None if is_regressor(estimator) else self._get_pos_label()
      )
      response_method = _check_response_method(
          estimator, self._response_method
      )
      y_pred = method_caller(
          estimator, response_method.__name__, X, pos_label=pos_label
      )
  
      scoring_kwargs = {**self._kwargs, **kwargs}
      return self._sign * self._score_func(
          y_true, y_pred, **scoring_kwargs
      )
  
imports: import copy
  import warnings
  from collections import Counter
  from functools import partial
  from inspect import signature
  from traceback import format_exc
  from ..base import is_regressor
  from ..utils import Bunch
  from ..utils._param_validation import HasMethods, Hidden, StrOptions, validate_params
  from ..utils._response import _get_response_values
  from ..utils.metadata_routing import MetadataRequest, MetadataRouter, _MetadataRequester, _raise_for_params, _routing_enabled, get_routing_for_object, process_routing
  from ..utils.validation import _check_response_method
  from .None import accuracy_score, average_precision_score, balanced_accuracy_score, brier_score_loss, class_likelihood_ratios, explained_variance_score, f1_score, jaccard_score, log_loss, matthews_corrcoef, max_error, mean_absolute_error, mean_absolute_percentage_error, mean_gamma_deviance, mean_poisson_deviance, mean_squared_error, mean_squared_log_error, median_absolute_error, precision_score, r2_score, recall_score, roc_auc_score, root_mean_squared_error, root_mean_squared_log_error, top_k_accuracy_score
  from .cluster import adjusted_mutual_info_score, adjusted_rand_score, completeness_score, fowlkes_mallows_score, homogeneity_score, mutual_info_score, normalized_mutual_info_score, rand_score, v_measure_score
label_desc: Use image node_id 1 for calling the _Scorer obj's underlying member method code with example usage: obj._score(method_caller, estimator, X, y_true) and returns: unknown