class_docstr: Abstract parameter importance evaluator.
docstr: Evaluate parameter importances based on completed trials in the given study.
  
  .. note::
  
      This method is not meant to be called by library users.
  
  .. seealso::
  
      Please refer to :func:`~optuna.importance.get_param_importances` for how a concrete
      evaluator should implement this method.
  
  Args:
      study:
          An optimized study.
      params:
          A list of names of parameters to assess.
          If :obj:`None`, all parameters that are present in all of the completed trials are
          assessed.
      target:
          A function to specify the value to evaluate importances.
          If it is :obj:`None` and ``study`` is being used for single-objective optimization,
          the objective values are used. Can also be used for other trial attributes, such as
          the duration, like ``target=lambda t: t.duration.total_seconds()``.
  
          .. note::
              Specify this argument if ``study`` is being used for multi-objective
              optimization. For example, to get the hyperparameter importance of the first
              objective, use ``target=lambda t: t.values[0]`` for the target parameter.
  
  Returns:
      A :obj:`dict` where the keys are parameter names and the values are assessed
      importances.
docstr_tok: ["Evaluate","parameter","importances","based","on","completed","trials","in","the","given","study",".","..","note",":",":","This","method","is","not","meant","to","be","called","by","library","users",".","..","seealso",":",":","Please","refer","to",":","func",":","`","~optuna.importance.get_param_importances","`","for","how","a","concrete","evaluator","should","implement","this","method",".","Args",":","study",":","An","optimized","study",".","params",":","A","list","of","names","of","parameters","to","assess",".","If",":","obj",":","`","None","`",",","all","parameters","that","are","present","in","all","of","the","completed","trials","are","assessed",".","target",":","A","function","to","specify","the","value","to","evaluate","importances",".","If","it","is",":","obj",":","`","None","`","and","``","study","``","is","being","used","for","single-objective","optimization",",","the","objective","values","are","used",".","Can","also","be","used","for","other","trial","attributes",",","such","as","the","duration",",","like","``","target=lambda","t",":","t.duration.total_seconds","(",")","``",".","..","note",":",":","Specify","this","argument","if","``","study","``","is","being","used","for","multi-objective","optimization",".","For","example",",","to","get","the","hyperparameter","importance","of","the","first","objective",",","use","``","target=lambda","t",":","t.values","[","0","]","``","for","the","target","parameter",".","Returns",":","A",":","obj",":","`","dict","`","where","the","keys","are","parameter","names","and","the","values","are","assessed","importances","."]
code: def evaluate(
      self,
      study: Study,
      params: Optional[List[str]] = None,
      *,
      target: Optional[Callable[[FrozenTrial], float]] = None,
  ) -> Dict[str, float]:
      """Evaluate parameter importances based on completed trials in the given study.
  
      .. note::
  
          This method is not meant to be called by library users.
  
      .. seealso::
  
          Please refer to :func:`~optuna.importance.get_param_importances` for how a concrete
          evaluator should implement this method.
  
      Args:
          study:
              An optimized study.
          params:
              A list of names of parameters to assess.
              If :obj:`None`, all parameters that are present in all of the completed trials are
              assessed.
          target:
              A function to specify the value to evaluate importances.
              If it is :obj:`None` and ``study`` is being used for single-objective optimization,
              the objective values are used. Can also be used for other trial attributes, such as
              the duration, like ``target=lambda t: t.duration.total_seconds()``.
  
              .. note::
                  Specify this argument if ``study`` is being used for multi-objective
                  optimization. For example, to get the hyperparameter importance of the first
                  objective, use ``target=lambda t: t.values[0]`` for the target parameter.
  
      Returns:
          A :obj:`dict` where the keys are parameter names and the values are assessed
          importances.
  
      """
      # TODO(hvy): Reconsider the interface as logic might violate DRY among multiple evaluators.
      raise NotImplementedError
  
imports: import abc
  from typing import Callable
  from typing import cast
  from typing import Collection
  from typing import Dict
  from typing import List
  from typing import Optional
  from typing import Union
  import numpy
  from optuna._transform import _SearchSpaceTransform
  from optuna.distributions import BaseDistribution
  from optuna.search_space import intersection_search_space
  from optuna.study import Study
  from optuna.trial import FrozenTrial
  from optuna.trial import TrialState
label_desc: Use image node_id 1 for calling the BaseImportanceEvaluator obj's underlying member method code with example usage: obj.evaluate(study, params) without return types