code: def AnalysisTableEvaluator(  # pylint: disable=invalid-name
      key: str = constants.ANALYSIS_KEY,
      run_after: str = extractor.LAST_EXTRACTOR_STAGE_NAME,
      include: Optional[Union[Iterable[str], Dict[str, Any]]] = None,
      exclude: Optional[Union[Iterable[str], Dict[str, Any]]] = None,
  ) -> evaluator.Evaluator:
      """Creates an Evaluator for returning Extracts data for analysis.
  
      If both include and exclude are None then tfma.INPUT_KEY extracts will be
      excluded by default.
  
      Args:
        key: Name to use for key in Evaluation output.
        run_after: Extractor to run after (None means before any extractors).
        include: List or map of keys to include in output. Keys starting with '_'
          are automatically filtered out at write time. If a map of keys is passed
          then the keys and sub-keys that exist in the map will be included in the
          output. An empty dict behaves as a wildcard matching all keys or the value
          itself. Since matching on feature values is not currently supported, an
          empty dict must be used to represent the leaf nodes.
          For example: {'key1': {'key1-subkey': {}}, 'key2': {}}.
        exclude: List or map of keys to exclude from output. If a map of keys is
          passed then the keys and sub-keys that exist in the map will be excluded
          from the output. An empty dict behaves as a wildcard matching all keys or
          the value itself. Since matching on feature values is not currently
          supported, an empty dict must be used to represent the leaf nodes.
          For example: {'key1': {'key1-subkey': {}}, 'key2': {}}.
  
      Returns:
        Evaluator for collecting analysis data. The output is stored under the key
        'analysis'.
  
      Raises:
        ValueError: If both include and exclude are used.
      """
      # pylint: disable=no-value-for-parameter
      return evaluator.Evaluator(
          stage_name="EvaluateExtracts",
          run_after=run_after,
          ptransform=EvaluateExtracts(
              key=key, include=include, exclude=exclude
          ),
      )
  
imports: from typing import Any, Dict, Iterable, Optional, Union
  import apache_beam
  from tensorflow_model_analysis import constants
  from tensorflow_model_analysis.api import types
  from tensorflow_model_analysis.evaluators import evaluator
  from tensorflow_model_analysis.extractors import extractor
label_desc: Use image node_id 1 for calling a global function with example usage: AnalysisTableEvaluator(key, run_after, include, exclude) and returns: evaluator