code: def __init__(
      self,
      name: str,
      score_func: Callable,
      optimum: float,
      worst_possible_result: float,
      sign: float,
      kwargs: Any,
      needs_X: bool = False,
  ) -> None:
      self.name = name
      self._kwargs = kwargs
      self._score_func = score_func
      self._optimum = optimum
      self._needs_X = needs_X
      self._worst_possible_result = worst_possible_result
      self._sign = sign
  
imports: from abc import ABCMeta, abstractmethod
  from typing import Any, Callable, Dict, List, Optional, Sequence, Union
  import collections
  from functools import partial
  from itertools import product
  import numpy
  import sklearn.metrics
  from sklearn.utils.multiclass import type_of_target
  from smac.utils.constants import MAXINT
  from autosklearn.constants import BINARY_CLASSIFICATION, MULTICLASS_CLASSIFICATION, MULTILABEL_CLASSIFICATION, MULTIOUTPUT_REGRESSION, REGRESSION, REGRESSION_TASKS, TASK_TYPES
  from autosklearn.data.target_validator import SUPPORTED_XDATA_TYPES
  from .util import sanitize_array
label_desc: Use image node_id 1 to create a new Scorer object from inherited base classes: object with example: obj = Scorer(name, score_func, optimum, worst_possible_result, sign, kwargs, needs_X)