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 constrains on ML pipeline structure.
  
  Args:
      available_operations: list of model names to use. Pick the names according to operations repository.
  
          .. details:: Possible options:
  
              - ``adareg`` -> AdaBoost Regressor
              - ``ar`` -> AutoRegression
              - ``arima`` -> ARIMA
              - ``cgru`` -> Convolutional Gated Recurrent Unit
              - ``bernb`` -> Naive Bayes Classifier (multivariate Bernoulli)
              - ``catboost`` -> Catboost Classifier
              - ``catboostreg`` -> Catboost Regressor
              - ``dt`` -> Decision Tree Classifier
              - ``dtreg`` -> Decision Tree Regressor
              - ``gbr`` -> Gradient Boosting Regressor
              - ``kmeans`` -> K-Means clustering
              - ``knn`` -> K-nearest neighbors Classifier
              - ``knnreg`` -> K-nearest neighbors Regressor
              - ``lasso`` -> Lasso Linear Regressor
              - ``lda`` -> Linear Discriminant Analysis
              - ``lgbm`` -> Light Gradient Boosting Machine Classifier
              - ``lgbmreg`` -> Light Gradient Boosting Machine Regressor
              - ``linear`` -> Linear Regression Regressor
              - ``logit`` -> Logistic Regression Classifier
              - ``mlp`` -> Multi-layer Perceptron Classifier
              - ``multinb`` -> Naive Bayes Classifier (multinomial)
              - ``qda`` -> Quadratic Discriminant Analysis
              - ``rf`` -> Random Forest Classifier
              - ``rfr`` -> Random Forest Regressor
              - ``ridge`` -> Ridge Linear Regressor
              - ``polyfit`` -> Polynomial fitter
              - ``sgdr`` -> Stochastic Gradient Descent Regressor
              - ``stl_arima`` -> STL Decomposition with ARIMA
              - ``glm`` -> Generalized Linear Models
              - ``ets`` -> Exponential Smoothing
              - ``locf`` -> Last Observation Carried Forward
              - ``ts_naive_average`` -> Naive Average
              - ``svc`` -> Support Vector Classifier
              - ``svr`` -> Linear Support Vector Regressor
              - ``treg`` -> Extra Trees Regressor
              - ``xgboost`` -> Extreme Gradient Boosting Classifier
              - ``xgbreg`` -> Extreme Gradient Boosting Regressor
              - ``cnn`` -> Convolutional Neural Network
              - ``scaling`` -> Scaling
              - ``normalization`` -> Normalization
              - ``simple_imputation`` -> Imputation
              - ``pca`` -> Principal Component Analysis
              - ``kernel_pca`` -> Kernel Principal Component Analysis
              - ``fast_ica`` -> Independent Component Analysis
              - ``poly_features`` -> Polynomial Features
              - ``one_hot_encoding`` -> One-Hot Encoder
              - ``label_encoding`` -> Label Encoder
              - ``rfe_lin_reg`` -> Linear Regression Recursive Feature Elimination
              - ``rfe_non_lin_reg`` -> Decision Tree Recursive Feature Elimination
              - ``rfe_lin_class`` -> Logistic Regression Recursive Feature Elimination
              - ``rfe_non_lin_class`` -> Decision Tree Recursive Feature Elimination
              - ``isolation_forest_reg`` -> Regression Isolation Forest
              - ``isolation_forest_class`` -> Classification Isolation Forest
              - ``decompose`` -> Regression Decomposition
              - ``class_decompose`` -> Classification Decomposition
              - ``resample`` -> Resample features
              - ``ransac_lin_reg`` -> Regression Random Sample Consensus
              - ``ransac_non_lin_reg`` -> Decision Tree Random Sample Consensus
              - ``cntvect`` -> Count Vectorizer
              - ``text_clean`` -> Lemmatization and Stemming
              - ``tfidf`` -> TF-IDF Vectorizer
              - ``word2vec_pretrained`` -> Word2Vec
              - ``lagged`` -> Lagged Transformation
              - ``sparse_lagged`` -> Sparse Lagged Transformation
              - ``smoothing`` -> Smoothing Transformation
              - ``gaussian_filter`` -> Gaussian Filter Transformation
              - ``diff_filter`` -> Derivative Filter Transformation
              - ``cut`` -> Cut Transformation
              - ``exog_ts`` -> Exogeneus Transformation
  
      max_depth: max depth of a pipeline. Defaults to ``6``.
  
      max_arity: max arity of a pipeline nodes. Defaults to ``3``.
  
  Returns:
      :class:`FedotBuilder` instance.
docstr_tok: ["Sets","constrains","on","ML","pipeline","structure",".","Args",":","available_operations",":","list","of","model","names","to","use",".","Pick","the","names","according","to","operations","repository",".","..","details",":",":","Possible","options",":","-","``","adareg","``","-",">","AdaBoost","Regressor","-","``","ar","``","-",">","AutoRegression","-","``","arima","``","-",">","ARIMA","-","``","cgru","``","-",">","Convolutional","Gated","Recurrent","Unit","-","``","bernb","``","-",">","Naive","Bayes","Classifier","(","multivariate","Bernoulli",")","-","``","catboost","``","-",">","Catboost","Classifier","-","``","catboostreg","``","-",">","Catboost","Regressor","-","``","dt","``","-",">","Decision","Tree","Classifier","-","``","dtreg","``","-",">","Decision","Tree","Regressor","-","``","gbr","``","-",">","Gradient","Boosting","Regressor","-","``","kmeans","``","-",">","K-Means","clustering","-","``","knn","``","-",">","K-nearest","neighbors","Classifier","-","``","knnreg","``","-",">","K-nearest","neighbors","Regressor","-","``","lasso","``","-",">","Lasso","Linear","Regressor","-","``","lda","``","-",">","Linear","Discriminant","Analysis","-","``","lgbm","``","-",">","Light","Gradient","Boosting","Machine","Classifier","-","``","lgbmreg","``","-",">","Light","Gradient","Boosting","Machine","Regressor","-","``","linear","``","-",">","Linear","Regression","Regressor","-","``","logit","``","-",">","Logistic","Regression","Classifier","-","``","mlp","``","-",">","Multi-layer","Perceptron","Classifier","-","``","multinb","``","-",">","Naive","Bayes","Classifier","(","multinomial",")","-","``","qda","``","-",">","Quadratic","Discriminant","Analysis","-","``","rf","``","-",">","Random","Forest","Classifier","-","``","rfr","``","-",">","Random","Forest","Regressor","-","``","ridge","``","-",">","Ridge","Linear","Regressor","-","``","polyfit","``","-",">","Polynomial","fitter","-","``","sgdr","``","-",">","Stochastic","Gradient","Descent","Regressor","-","``","stl_arima","``","-",">","STL","Decomposition","with","ARIMA","-","``","glm","``","-",">","Generalized","Linear","Models","-","``","ets","``","-",">","Exponential","Smoothing","-","``","locf","``","-",">","Last","Observation","Carried","Forward","-","``","ts_naive_average","``","-",">","Naive","Average","-","``","svc","``","-",">","Support","Vector","Classifier","-","``","svr","``","-",">","Linear","Support","Vector","Regressor","-","``","treg","``","-",">","Extra","Trees","Regressor","-","``","xgboost","``","-",">","Extreme","Gradient","Boosting","Classifier","-","``","xgbreg","``","-",">","Extreme","Gradient","Boosting","Regressor","-","``","cnn","``","-",">","Convolutional","Neural","Network","-","``","scaling","``","-",">","Scaling","-","``","normalization","``","-",">","Normalization","-","``","simple_imputation","``","-",">","Imputation","-","``","pca","``","-",">","Principal","Component","Analysis","-","``","kernel_pca","``","-",">","Kernel","Principal","Component","Analysis","-","``","fast_ica","``","-",">","Independent","Component","Analysis","-","``","poly_features","``","-",">","Polynomial","Features","-","``","one_hot_encoding","``","-",">","One-Hot","Encoder","-","``","label_encoding","``","-",">","Label","Encoder","-","``","rfe_lin_reg","``","-",">","Linear","Regression","Recursive","Feature","Elimination","-","``","rfe_non_lin_reg","``","-",">","Decision","Tree","Recursive","Feature","Elimination","-","``","rfe_lin_class","``","-",">","Logistic","Regression","Recursive","Feature","Elimination","-","``","rfe_non_lin_class","``","-",">","Decision","Tree","Recursive","Feature","Elimination","-","``","isolation_forest_reg","``","-",">","Regression","Isolation","Forest","-","``","isolation_forest_class","``","-",">","Classification","Isolation","Forest","-","``","decompose","``","-",">","Regression","Decomposition","-","``","class_decompose","``","-",">","Classification","Decomposition","-","``","resample","``","-",">","Resample","features","-","``","ransac_lin_reg","``","-",">","Regression","Random","Sample","Consensus","-","``","ransac_non_lin_reg","``","-",">","Decision","Tree","Random","Sample","Consensus","-","``","cntvect","``","-",">","Count","Vectorizer","-","``","text_clean","``","-",">","Lemmatization","and","Stemming","-","``","tfidf","``","-",">","TF-IDF","Vectorizer","-","``","word2vec_pretrained","``","-",">","Word2Vec","-","``","lagged","``","-",">","Lagged","Transformation","-","``","sparse_lagged","``","-",">","Sparse","Lagged","Transformation","-","``","smoothing","``","-",">","Smoothing","Transformation","-","``","gaussian_filter","``","-",">","Gaussian","Filter","Transformation","-","``","diff_filter","``","-",">","Derivative","Filter","Transformation","-","``","cut","``","-",">","Cut","Transformation","-","``","exog_ts","``","-",">","Exogeneus","Transformation","max_depth",":","max","depth","of","a","pipeline",".","Defaults","to","``","6","``",".","max_arity",":","max","arity","of","a","pipeline","nodes",".","Defaults","to","``","3","``",".","Returns",":",":","class",":","`","FedotBuilder","`","instance","."]
code: def setup_pipeline_structure(
      self,
      available_operations: List[str] = DEFAULT_VALUE,
      max_depth: int = DEFAULT_VALUE,
      max_arity: int = DEFAULT_VALUE,
  ) -> FedotBuilder:
      """Sets constrains on ML pipeline structure.
  
      Args:
          available_operations: list of model names to use. Pick the names according to operations repository.
  
              .. details:: Possible options:
  
                  - ``adareg`` -> AdaBoost Regressor
                  - ``ar`` -> AutoRegression
                  - ``arima`` -> ARIMA
                  - ``cgru`` -> Convolutional Gated Recurrent Unit
                  - ``bernb`` -> Naive Bayes Classifier (multivariate Bernoulli)
                  - ``catboost`` -> Catboost Classifier
                  - ``catboostreg`` -> Catboost Regressor
                  - ``dt`` -> Decision Tree Classifier
                  - ``dtreg`` -> Decision Tree Regressor
                  - ``gbr`` -> Gradient Boosting Regressor
                  - ``kmeans`` -> K-Means clustering
                  - ``knn`` -> K-nearest neighbors Classifier
                  - ``knnreg`` -> K-nearest neighbors Regressor
                  - ``lasso`` -> Lasso Linear Regressor
                  - ``lda`` -> Linear Discriminant Analysis
                  - ``lgbm`` -> Light Gradient Boosting Machine Classifier
                  - ``lgbmreg`` -> Light Gradient Boosting Machine Regressor
                  - ``linear`` -> Linear Regression Regressor
                  - ``logit`` -> Logistic Regression Classifier
                  - ``mlp`` -> Multi-layer Perceptron Classifier
                  - ``multinb`` -> Naive Bayes Classifier (multinomial)
                  - ``qda`` -> Quadratic Discriminant Analysis
                  - ``rf`` -> Random Forest Classifier
                  - ``rfr`` -> Random Forest Regressor
                  - ``ridge`` -> Ridge Linear Regressor
                  - ``polyfit`` -> Polynomial fitter
                  - ``sgdr`` -> Stochastic Gradient Descent Regressor
                  - ``stl_arima`` -> STL Decomposition with ARIMA
                  - ``glm`` -> Generalized Linear Models
                  - ``ets`` -> Exponential Smoothing
                  - ``locf`` -> Last Observation Carried Forward
                  - ``ts_naive_average`` -> Naive Average
                  - ``svc`` -> Support Vector Classifier
                  - ``svr`` -> Linear Support Vector Regressor
                  - ``treg`` -> Extra Trees Regressor
                  - ``xgboost`` -> Extreme Gradient Boosting Classifier
                  - ``xgbreg`` -> Extreme Gradient Boosting Regressor
                  - ``cnn`` -> Convolutional Neural Network
                  - ``scaling`` -> Scaling
                  - ``normalization`` -> Normalization
                  - ``simple_imputation`` -> Imputation
                  - ``pca`` -> Principal Component Analysis
                  - ``kernel_pca`` -> Kernel Principal Component Analysis
                  - ``fast_ica`` -> Independent Component Analysis
                  - ``poly_features`` -> Polynomial Features
                  - ``one_hot_encoding`` -> One-Hot Encoder
                  - ``label_encoding`` -> Label Encoder
                  - ``rfe_lin_reg`` -> Linear Regression Recursive Feature Elimination
                  - ``rfe_non_lin_reg`` -> Decision Tree Recursive Feature Elimination
                  - ``rfe_lin_class`` -> Logistic Regression Recursive Feature Elimination
                  - ``rfe_non_lin_class`` -> Decision Tree Recursive Feature Elimination
                  - ``isolation_forest_reg`` -> Regression Isolation Forest
                  - ``isolation_forest_class`` -> Classification Isolation Forest
                  - ``decompose`` -> Regression Decomposition
                  - ``class_decompose`` -> Classification Decomposition
                  - ``resample`` -> Resample features
                  - ``ransac_lin_reg`` -> Regression Random Sample Consensus
                  - ``ransac_non_lin_reg`` -> Decision Tree Random Sample Consensus
                  - ``cntvect`` -> Count Vectorizer
                  - ``text_clean`` -> Lemmatization and Stemming
                  - ``tfidf`` -> TF-IDF Vectorizer
                  - ``word2vec_pretrained`` -> Word2Vec
                  - ``lagged`` -> Lagged Transformation
                  - ``sparse_lagged`` -> Sparse Lagged Transformation
                  - ``smoothing`` -> Smoothing Transformation
                  - ``gaussian_filter`` -> Gaussian Filter Transformation
                  - ``diff_filter`` -> Derivative Filter Transformation
                  - ``cut`` -> Cut Transformation
                  - ``exog_ts`` -> Exogeneus Transformation
  
          max_depth: max depth of a pipeline. Defaults to ``6``.
  
          max_arity: max arity of a pipeline nodes. Defaults to ``3``.
  
      Returns:
          :class:`FedotBuilder` instance.
      """
      self.__update_params(
          available_operations=available_operations,
          max_depth=max_depth,
          max_arity=max_arity,
      )
      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 7 for calling the FedotBuilder obj's underlying member method code with example usage: obj.setup_pipeline_structure(available_operations, max_depth, max_arity) and returns: self