code: def __init__(
      self,
      metric=None,
      hyperparams_analyze_method: str = "sobol",
      hyperparams_sample_method: str = "saltelli",
      hyperparams_analysis_samples_size: int = 100,
      replacement_nodes_to_replace_to: Optional[
          List[PipelineNode]
      ] = None,
      replacement_number_of_random_operations: Optional[int] = None,
      visualization: bool = True,
      is_save_results_to_json: bool = True,
  ):
      self.metric = metric
      self.hp_analysis_meta = HyperparamsAnalysisMetaParams(
          hyperparams_analyze_method,
          hyperparams_sample_method,
          hyperparams_analysis_samples_size,
      )
  
      self.replacement_meta = ReplacementAnalysisMetaParams(
          replacement_nodes_to_replace_to,
          replacement_number_of_random_operations,
      )
  
      self.visualization = visualization
      self.is_save = is_save_results_to_json
  
imports: from collections import namedtuple
  from typing import List, Optional
  from fedot.core.pipelines.node import PipelineNode
label_desc: Use image node_id 1 to create a new SensitivityAnalysisRequirements object  with example: obj = SensitivityAnalysisRequirements(metric, hyperparams_analyze_method, hyperparams_sample_method, hyperparams_analysis_samples_size, replacement_nodes_to_replace_to, replacement_number_of_random_operations, visualization, is_save_results_to_json)