class_docstr: Class for selecting optimal data processing strategies based on type of data.
  Available data sources are:
      * numpy array
      * pandas DataFrame
      * string (path to csv file)
      * InputData (FEDOT dataclass)
  
  Data preprocessing such a class performing also
class_docstr_tok: ["Class","for","selecting","optimal","data","processing","strategies","based","on","type","of","data",".","Available","data","sources","are",":","*","numpy","array","*","pandas","DataFrame","*","string","(","path","to","csv","file",")","*","InputData","(","FEDOT","dataclass",")","Data","preprocessing","such","a","class","performing","also"]
docstr: Accepts recommendations for preprocessing from DataAnalyser
  
  :param input_data - data for preprocessing
  :param recommendations - dict with recommendations
docstr_tok: ["Accepts","recommendations","for","preprocessing","from","DataAnalyser",":","param","input_data","-","data","for","preprocessing",":","param","recommendations","-","dict","with","recommendations"]
code: def accept_and_apply_recommendations(
      self,
      input_data: Union[InputData, MultiModalData],
      recommendations: Dict,
  ):
      """
      Accepts recommendations for preprocessing from DataAnalyser
  
      :param input_data - data for preprocessing
      :param recommendations - dict with recommendations
      """
      if isinstance(input_data, MultiModalData):
          for data_source_name, values in input_data.items():
              self.accept_and_apply_recommendations(
                  input_data[data_source_name],
                  recommendations[data_source_name],
              )
      else:
          for name, rec in recommendations.items():
              # Apply desired preprocessing function
              self._recommendations[name](input_data, *rec.values())
  
imports: import sys
  from datetime import datetime
  from typing import Dict, Union
  from typing import Optional
  import numpy
  from golem.core.log import default_log
  from fedot.api.api_utils.data_definition import data_strategy_selector, FeaturesType, TargetType
  from fedot.core.data.data import InputData, OutputData, data_type_is_table
  from fedot.core.data.data_preprocessing import convert_into_column
  from fedot.core.data.multi_modal import MultiModalData
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.pipelines.ts_wrappers import in_sample_ts_forecast, convert_forecast_to_output
  from fedot.core.repository.tasks import Task, TaskTypesEnum
  from fedot.core.utils import convert_memory_size
  from fedot.preprocessing.dummy_preprocessing import DummyPreprocessor
  from fedot.preprocessing.preprocessing import DataPreprocessor
label_desc: Use image node_id 5 for calling the ApiDataProcessor obj's underlying member method code with example usage: obj.accept_and_apply_recommendations(input_data, recommendations) without return types