class_docstr: Performs the perturbation analysis.
  
  :param analyzer: Analyzer.
  :type analyzer: innvestigate.analyzer.base.AnalyzerBase
  :param model: Trained Keras model.
  :param generator: Data generator.
  :type generator: innvestigate.sequence.BatchSequence
  :param perturbation: Instance of Perturbation class that performs the perturbation.
  :type perturbation: innvestigate.tools.Perturbation
  :param steps: Number of perturbation steps.
  :type steps: int
  :param regions_per_step: Number of regions that are perturbed per step.
  :type regions_per_step: float
  :param recompute_analysis:
      If true, the analysis is recomputed after each perturbation step.
  :type recompute_analysis: bool
  :param verbose: If true, print some useful information, e.g. timing, progress etc.
docstr: Perturbs the input batch and scores the model on the perturbed batch.
  
  :param x: Samples.
  :type x: numpy.ndarray
  :param y: Labels.
  :type y: numpy.ndarray
  :param analysis: Analysis of x.
  :type analysis: numpy.ndarray
  :param sample_weight: Sample weights.
  :type sample_weight: None
  :return: List of test scores.
  :rtype: list
docstr_tok: ["Perturbs","the","input","batch","and","scores","the","model","on","the","perturbed","batch",".",":","param","x",":","Samples",".",":","type","x",":","numpy.ndarray",":","param","y",":","Labels",".",":","type","y",":","numpy.ndarray",":","param","analysis",":","Analysis","of","x.",":","type","analysis",":","numpy.ndarray",":","param","sample_weight",":","Sample","weights",".",":","type","sample_weight",":","None",":","return",":","List","of","test","scores",".",":","rtype",":","list"]
code: def evaluate_on_batch(self, x, y, analysis=None, sample_weight=None):
      """
      Perturbs the input batch and scores the model on the perturbed batch.
  
      :param x: Samples.
      :type x: numpy.ndarray
      :param y: Labels.
      :type y: numpy.ndarray
      :param analysis: Analysis of x.
      :type analysis: numpy.ndarray
      :param sample_weight: Sample weights.
      :type sample_weight: None
      :return: List of test scores.
      :rtype: list
      """
      if sample_weight is not None:
          raise NotImplementedError(
              "Sample weighting is not supported yet."
          )  # TODO
      x_perturbated = self.compute_on_batch(x, analysis)
      score = self.model.test_on_batch(
          x_perturbated, y, sample_weight=sample_weight
      )
      return score
  
imports: from __future__ import annotations
  import time
  import warnings
  import numpy
  import tensorflow.keras.backend
  import tensorflow.keras.utils
  import innvestigate.utils.sequence
label_desc: Use image node_id 3 for calling the PerturbationAnalysis obj's underlying member method code with example usage: obj.evaluate_on_batch(x, y, analysis, sample_weight) and returns: score