class_docstr: Provides with analysis of all the :class:`Pipeline`'s operations hyperparameters
  using sample and analyze methods from ``SALib``
  
  Args:
      pipeline: :obj:`Pipeline` object to analyze
      train_data: data used for :obj:`Pipeline` training
      test_data: data used for :obj:`Pipeline` validation
      requirements: extra requirements to define specific details for different approaches.
          See :class:`SensitivityAnalysisRequirements` class documentation.
      path_to_save: path to save results to. Default: ``~home/Fedot/structural_analysis/``
class_docstr_tok: ["Provides","with","analysis","of","all","the",":","class",":","`","Pipeline","`","'s","operations","hyperparameters","using","sample","and","analyze","methods","from","``","SALib","``","Args",":","pipeline",":",":","obj",":","`","Pipeline","`","object","to","analyze","train_data",":","data","used","for",":","obj",":","`","Pipeline","`","training","test_data",":","data","used","for",":","obj",":","`","Pipeline","`","validation","requirements",":","extra","requirements","to","define","specific","details","for","different","approaches",".","See",":","class",":","`","SensitivityAnalysisRequirements","`","class","documentation",".","path_to_save",":","path","to","save","results","to",".","Default",":","``","~home\/Fedot\/structural_analysis\/","``"]
code: def __init__(
      self,
      pipeline: Pipeline,
      train_data: InputData,
      test_data: InputData,
      requirements: SensitivityAnalysisRequirements = None,
      path_to_save=None,
  ):
      self._pipeline = pipeline
      self._train_data = train_data
      self._test_data = test_data
      self.problem: Optional[Problem] = None
      requirements = (
          SensitivityAnalysisRequirements()
          if requirements is None
          else requirements
      )
      self.requirements: HyperparamsAnalysisMetaParams = (
          requirements.hp_analysis_meta
      )
      self.analyze_method = analyze_method_by_name.get(
          self.requirements.analyze_method
      )
      self.sample_method = sample_method_by_name.get(
          self.requirements.sample_method
      )
  
      self.operation_types = None
      self.path_to_save = (
          join(
              default_fedot_data_dir(),
              "structural_analysis",
              "pipeline_sensitivity",
          )
          if path_to_save is None
          else path_to_save
      )
      self.log = default_log(self)
  
file_path: FEDOT/fedot/structural_analysis/operations_hp_sensitivity/multi_operations_sensitivity.py
imports: from copy import deepcopy
  from os.path import join
  from typing import List, Optional, Union
  import numpy
  from golem.core.log import default_log
  from fedot.core.composer.metrics import MSE
  from fedot.core.data.data import InputData
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.utils import default_fedot_data_dir
  from fedot.structural_analysis.operations_hp_sensitivity.problem import MultiOperationsProblem, Problem
  from fedot.structural_analysis.operations_hp_sensitivity.sa_and_sample_methods import analyze_method_by_name, sample_method_by_name
  from fedot.structural_analysis.sa_requirements import HyperparamsAnalysisMetaParams, SensitivityAnalysisRequirements
label_desc: Use image node_id 1 to create a new MultiOperationsHPAnalyze object  with example: obj = MultiOperationsHPAnalyze(pipeline, train_data, test_data, requirements, path_to_save)