docstr: Method for obtaining and fitting initial assumption
docstr_tok: ["Method","for","obtaining","and","fitting","initial","assumption"]
code: def propose_and_fit_initial_assumption(
      self, train_data: InputData
  ) -> Tuple[Sequence[Pipeline], Pipeline]:
      """Method for obtaining and fitting initial assumption"""
      available_operations = self.params.get("available_operations")
  
      preset = self.params.get("preset")
  
      assumption_handler = AssumptionsHandler(train_data)
  
      initial_assumption = assumption_handler.propose_assumptions(
          self.params.get("initial_assumption"),
          available_operations,
          use_input_preprocessing=self.params.get(
              "use_input_preprocessing"
          ),
      )
  
      with self.timer.launch_assumption_fit():
          fitted_assumption = (
              assumption_handler.fit_assumption_and_check_correctness(
                  deepcopy(initial_assumption[0]),
                  pipelines_cache=self.pipelines_cache,
                  preprocessing_cache=self.preprocessing_cache,
                  eval_n_jobs=self.params.n_jobs,
              )
          )
  
      self.log.message(
          f"Initial pipeline was fitted in {round(self.timer.assumption_fit_spend_time.total_seconds(), 1)} sec."
      )
  
      self.params.update(
          preset=assumption_handler.propose_preset(
              preset, self.timer, n_jobs=self.params.n_jobs
          )
      )
  
      return initial_assumption, fitted_assumption
  
imports: import datetime
  import gc
  from copy import deepcopy
  from typing import List, Optional, Sequence, Tuple, Union
  from golem.core.log import default_log
  from golem.core.optimisers.opt_history_objects.opt_history import OptHistory
  from golem.core.tuning.simultaneous import SimultaneousTuner
  from fedot.api.api_utils.assumptions.assumptions_handler import AssumptionsHandler
  from fedot.api.api_utils.params import ApiParams
  from fedot.api.time import ApiTime
  from fedot.core.caching.pipelines_cache import OperationsCache
  from fedot.core.caching.preprocessing_cache import PreprocessingCache
  from fedot.core.composer.composer_builder import ComposerBuilder
  from fedot.core.composer.gp_composer.gp_composer import GPComposer
  from fedot.core.constants import DEFAULT_TUNING_ITERATIONS_NUMBER
  from fedot.core.data.data import InputData
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.pipelines.tuning.tuner_builder import TunerBuilder
  from fedot.core.repository.metrics_repository import MetricIDType
label_desc: Use image node_id 4 for calling the ApiComposer obj's underlying member method code with example usage: obj.propose_and_fit_initial_assumption(train_data) and returns: initial_assumption,  fitted_assumption