class_docstr: An alternative FEDOT API version with optional attributes being documented
  and separated into groups by meaning.
  Each of the groups has corresponding setter method, named starting with :obj:`setup_*`.
  Use these methods to set corresponding API attributes:
  
  * :meth:`~FedotBuilder.setup_composition` -> general AutoML parameters
  
  * :meth:`~FedotBuilder.setup_parallelization` -> parameters of computational parallelization by CPU jobs
  
  * :meth:`~FedotBuilder.setup_output` -> parameters of outputs: logging, cache directories, etc.
  
  * :meth:`~FedotBuilder.setup_evolution` -> parameters of ML pipelines evolutionary optimization
  
  * :meth:`~FedotBuilder.setup_pipeline_structure` -> constrains on ML pipeline structure
  
  * :meth:`~FedotBuilder.setup_pipeline_evaluation` -> parameters of ML pipelines quality evaluation
  
  * :meth:`~FedotBuilder.setup_data_preprocessing` -> parameters of input data preprocessing
  
  After all demanded attributes are set, use :meth:`~FedotBuilder.build` to get a parametrized instance of
  :class:`~fedot.api.main.Fedot`.
  
  Examples:
      Example 1:
  
      .. literalinclude:: ../../../examples/simple/api_builder/classification_with_api_builder.py
  
      Example 2:
  
      .. literalinclude:: ../../../examples/simple/api_builder/multiple_ts_forecasting_tasks.py
  
  Args:
      problem: name of a modelling problem to solve.
  
          .. details:: Possible options:
  
              - ``classification`` -> for classification task
              - ``regression`` -> for regression task
              - ``ts_forecasting`` -> for time series forecasting task
class_docstr_tok: ["An","alternative","FEDOT","API","version","with","optional","attributes","being","documented","and","separated","into","groups","by","meaning",".","Each","of","the","groups","has","corresponding","setter","method",",","named","starting","with",":","obj",":","`","setup_","*","`",".","Use","these","methods","to","set","corresponding","API","attributes",":","*",":","meth",":","`","~FedotBuilder.setup_composition","`","-",">","general","AutoML","parameters","*",":","meth",":","`","~FedotBuilder.setup_parallelization","`","-",">","parameters","of","computational","parallelization","by","CPU","jobs","*",":","meth",":","`","~FedotBuilder.setup_output","`","-",">","parameters","of","outputs",":","logging",",","cache","directories",",","etc",".","*",":","meth",":","`","~FedotBuilder.setup_evolution","`","-",">","parameters","of","ML","pipelines","evolutionary","optimization","*",":","meth",":","`","~FedotBuilder.setup_pipeline_structure","`","-",">","constrains","on","ML","pipeline","structure","*",":","meth",":","`","~FedotBuilder.setup_pipeline_evaluation","`","-",">","parameters","of","ML","pipelines","quality","evaluation","*",":","meth",":","`","~FedotBuilder.setup_data_preprocessing","`","-",">","parameters","of","input","data","preprocessing","After","all","demanded","attributes","are","set",",","use",":","meth",":","`","~FedotBuilder.build","`","to","get","a","parametrized","instance","of",":","class",":","`","~fedot.api.main.Fedot","`",".","Examples",":","Example","1",":","..","literalinclude",":",":","..","\/","..","\/","..","\/examples\/simple\/api_builder\/classification_with_api_builder.py","Example","2",":","..","literalinclude",":",":","..","\/","..","\/","..","\/examples\/simple\/api_builder\/multiple_ts_forecasting_tasks.py","Args",":","problem",":","name","of","a","modelling","problem","to","solve",".","..","details",":",":","Possible","options",":","-","``","classification","``","-",">","for","classification","task","-","``","regression","``","-",">","for","regression","task","-","``","ts_forecasting","``","-",">","for","time","series","forecasting","task"]
docstr: Sets general AutoML parameters.
  
  Args:
      timeout: time for model design (in minutes): ``None`` or ``-1`` means infinite time.
  
      task_params: additional parameters of a task.
  
      seed: value for a fixed random seed.
  
      preset: name of the preset for model building (e.g. ``best_quality``, ``fast_train``, ``gpu``).
          Default value is ``auto``.
  
          .. details:: Possible options:
  
              - ``best_quality`` -> All models that are available for this data type and task are used
              - ``fast_train`` -> Models that learn quickly. This includes preprocessing operations
                (data operations) that only reduce the dimensionality of the data, but cannot increase it.
                For example, there are no polynomial features and one-hot encoding operations
              - ``stable`` -> The most reliable preset in which the most stable operations are included
              - ``auto`` -> Automatically determine which preset should be used
              - ``gpu`` -> Models that use GPU resources for computation
              - ``ts`` -> A special preset with models for time series forecasting task
              - ``automl`` -> A special preset with only AutoML libraries such as TPOT and H2O as operations
  
      with_tuning: flag for tuning hyperparameters of the final evolved
          :class:`~fedot.core.pipelines.pipeline.Pipeline`. Defaults to ``True``.
  
      use_meta_rules: indicates whether to change set parameters according to FEDOT meta rules.
  
  
  Returns:
      :class:`FedotBuilder` instance.
docstr_tok: ["Sets","general","AutoML","parameters",".","Args",":","timeout",":","time","for","model","design","(","in","minutes",")",":","``","None","``","or","``","-1","``","means","infinite","time",".","task_params",":","additional","parameters","of","a","task",".","seed",":","value","for","a","fixed","random","seed",".","preset",":","name","of","the","preset","for","model","building","(","e.g",".","``","best_quality","``",",","``","fast_train","``",",","``","gpu","``",")",".","Default","value","is","``","auto","``",".","..","details",":",":","Possible","options",":","-","``","best_quality","``","-",">","All","models","that","are","available","for","this","data","type","and","task","are","used","-","``","fast_train","``","-",">","Models","that","learn","quickly",".","This","includes","preprocessing","operations","(","data","operations",")","that","only","reduce","the","dimensionality","of","the","data",",","but","can","not","increase","it",".","For","example",",","there","are","no","polynomial","features","and","one-hot","encoding","operations","-","``","stable","``","-",">","The","most","reliable","preset","in","which","the","most","stable","operations","are","included","-","``","auto","``","-",">","Automatically","determine","which","preset","should","be","used","-","``","gpu","``","-",">","Models","that","use","GPU","resources","for","computation","-","``","ts","``","-",">","A","special","preset","with","models","for","time","series","forecasting","task","-","``","automl","``","-",">","A","special","preset","with","only","AutoML","libraries","such","as","TPOT","and","H2O","as","operations","with_tuning",":","flag","for","tuning","hyperparameters","of","the","final","evolved",":","class",":","`","~fedot.core.pipelines.pipeline.Pipeline","`",".","Defaults","to","``","True","``",".","use_meta_rules",":","indicates","whether","to","change","set","parameters","according","to","FEDOT","meta","rules",".","Returns",":",":","class",":","`","FedotBuilder","`","instance","."]
code: def setup_composition(
      self,
      timeout: Optional[float] = DEFAULT_VALUE,
      task_params: TaskParams = DEFAULT_VALUE,
      seed: int = DEFAULT_VALUE,
      preset: str = DEFAULT_VALUE,
      with_tuning: bool = DEFAULT_VALUE,
      use_meta_rules: bool = DEFAULT_VALUE,
  ) -> FedotBuilder:
      """Sets general AutoML parameters.
  
      Args:
          timeout: time for model design (in minutes): ``None`` or ``-1`` means infinite time.
  
          task_params: additional parameters of a task.
  
          seed: value for a fixed random seed.
  
          preset: name of the preset for model building (e.g. ``best_quality``, ``fast_train``, ``gpu``).
              Default value is ``auto``.
  
              .. details:: Possible options:
  
                  - ``best_quality`` -> All models that are available for this data type and task are used
                  - ``fast_train`` -> Models that learn quickly. This includes preprocessing operations
                    (data operations) that only reduce the dimensionality of the data, but cannot increase it.
                    For example, there are no polynomial features and one-hot encoding operations
                  - ``stable`` -> The most reliable preset in which the most stable operations are included
                  - ``auto`` -> Automatically determine which preset should be used
                  - ``gpu`` -> Models that use GPU resources for computation
                  - ``ts`` -> A special preset with models for time series forecasting task
                  - ``automl`` -> A special preset with only AutoML libraries such as TPOT and H2O as operations
  
          with_tuning: flag for tuning hyperparameters of the final evolved
              :class:`~fedot.core.pipelines.pipeline.Pipeline`. Defaults to ``True``.
  
          use_meta_rules: indicates whether to change set parameters according to FEDOT meta rules.
  
  
      Returns:
          :class:`FedotBuilder` instance.
      """
      self.__update_params(
          timeout=timeout,
          task_params=task_params,
          seed=seed,
          preset=preset,
          with_tuning=with_tuning,
          use_meta_rules=use_meta_rules,
      )
      return self
  
imports: from __future__ import annotations
  from typing import Any, Dict, List, Optional, Sequence, Type, Union
  from golem.core.optimisers.optimizer import GraphOptimizer
  from fedot.api.main import Fedot
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.repository.metrics_repository import MetricIDType
  from fedot.core.repository.tasks import TaskParams
label_desc: Use image node_id 3 for calling the FedotBuilder obj's underlying member method code with example usage: obj.setup_composition(timeout, task_params, seed, preset, with_tuning, use_meta_rules) and returns: self