code: def fit(self, train_data: InputData):
      if train_data.task.task_type == TaskTypesEnum.ts_forecasting:
          target_len = train_data.task.task_params.forecast_length
      else:
          target_len = 1
      models = []
      if len(train_data.target.shape) == 1:
          target = train_data.target.reshape(-1, 1)
      else:
          target = train_data.target
  
      for i in range(target.shape[1]):
          model = self.operation_impl(
              generations=self.params_for_fit.get("generations"),
              population_size=self.params_for_fit.get(
                  "population_size"
              ),
              verbosity=2,
              random_state=42,
              max_time_mins=self.params_for_fit.get("timeout", 0.0)
              // target_len,
          )
          model.fit(
              train_data.features.astype(float),
              target.astype(float)[:, i],
          )
          models.append(model.fitted_pipeline_)
      model = TPOTRegressionSerializationWrapper(models)
      return model
  
imports: from typing import Optional
  import numpy
  from h2o import h2o, H2OFrame
  from h2o.automl import H2OAutoML
  from tpot import TPOTClassifier, TPOTRegressor
  from fedot.core.data.data import InputData, OutputData
  from fedot.core.operations.evaluation.evaluation_interfaces import EvaluationStrategy
  from fedot.core.operations.operation_parameters import OperationParameters
  from fedot.core.pipelines.automl_wrappers import H2OSerializationWrapper, TPOTRegressionSerializationWrapper
  from fedot.core.repository.tasks import TaskTypesEnum
label_desc: Use image node_id 2 for calling the TPOTAutoMLRegressionStrategy obj's underlying member method code with example usage: obj.fit(train_data) and returns: model