class_docstr: Base class for operations in nodes. Operations could be machine learning
  (or statistical) models or data operations
  
  Args:
      operation_type: name of the operation
code: def _init(self, task: Task, **kwargs):
      params = kwargs.get("params")
      if not params:
          params = OperationParameters.from_operation_type(
              self.operation_type
          )
      if isinstance(params, dict):
          params = OperationParameters.from_operation_type(
              self.operation_type, **params
          )
      params_for_fit = HyperparametersPreprocessor(
          operation_type=self.operation_type,
          n_samples_data=kwargs.get("n_samples_data"),
      ).correct(params.to_dict())
      params_for_fit = OperationParameters.from_operation_type(
          self.operation_type, **params_for_fit
      )
      try:
          self._eval_strategy = _eval_strategy_for_task(
              self.operation_type, task.task_type, self.operations_repo
          )(self.operation_type, params_for_fit)
      except Exception as ex:
          self.log.error(
              f"Can not find evaluation strategy because of {ex}"
          )
          raise ex
  
      if "output_mode" in kwargs:
          self._eval_strategy.output_mode = kwargs["output_mode"]
  
imports: from abc import abstractmethod
  from typing import Any, Dict, Optional, Union
  from golem.core.log import default_log
  from golem.serializers.serializer import register_serializable
  from fedot.core.data.data import InputData, OutputData
  from fedot.core.operations.hyperparameters_preprocessing import HyperparametersPreprocessor
  from fedot.core.operations.operation_parameters import OperationParameters
  from fedot.core.repository.operation_types_repository import OperationMetaInfo
  from fedot.core.repository.operation_types_repository import OperationTypesRepository
  from fedot.core.repository.tasks import Task, TaskTypesEnum, compatible_task_types
  from fedot.utilities.custom_errors import AbstractMethodNotImplementError
label_desc: Use image node_id 2 for calling the Operation obj's underlying member method code with example usage: obj._init(task) without return types