Skip to content

Commit

Permalink
879 FEDOT features (#1075)
Browse files Browse the repository at this point in the history
describe framework's features
  • Loading branch information
IIaKyJIuH authored Apr 25, 2023
1 parent aa39918 commit 0be0311
Show file tree
Hide file tree
Showing 22 changed files with 361 additions and 89 deletions.
27 changes: 9 additions & 18 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,23 +49,16 @@ FEDOT предоставляет возможность использовать
:target: http://www.youtube.com/watch?v=RjbuV6i6de4
:alt: Introducing Fedot

Особенности фреймворка
=====================

Основные особенности фреймворка:

- **Гибкость.** FEDOT очень гибкий: его можно использовать для автоматизации поиска решений для различных классов задач, типов данных и моделей;
- **Интеграция с другими библиотеками МО.** FEDOT поддерживает широко используемые библиотеки МО (Scikit-Learn, Can boost, Xgboost и т.д.) и позволяет интегрировать пользовательские библиотеки;
- **Расширяемость для новых видов задач.** Алгоритмы для оптимизации пайплайнов не зависят от вида данных и задач, однако можно использовать специальные шаблоны для определенных классов задач или типов данных (прогнозирование временных рядов, NLP, табличные данные и т.д.) для повышения эффективности;
- **Отсутствие ограничений.** Фреймворк универсальный и не ограничивается конкретными задачами моделирования, например, его можно использовать в ODE или PDE;
- **Поддержка настройки гиперпараметров.** Поддерживаются методы настройки гиперпараметров. Пользовательские методы также могут быть интегрированы в FEDOT;
- **Воспроизводимость.** Можно экспортировать получившиеся паплайны в формате JSON для воспроизводимости эксперимента.

По сравнению с другими фреймворками, FEDOT:
Концепции FEDOT'а
=================

- можно считать универсальным и расширяемым, т.к. у него нет ограничений для видов задач моделирования;
- позволяет управлять сложностью моделей и тем самым достигать лучших результатов;
- позволяет строить пайплайны состоящие из различных моделей, используя различные типы входных данных (тексты, изображения, таблицы и т.д.).
- **Гибкость.** FEDOT может быть использован для автоматизации поиска решений для различных `классов задач <https://fedot.readthedocs.io/en/master/introduction/fedot_features/main_features.html#involved-tasks>`_, `типов данных <https://fedot.readthedocs.io/en/master/introduction/fedot_features/automation_features.html#data-nature>`_ (тексты, изображения, таблицы), и `моделей <https://fedot.readthedocs.io/en/master/advanced/automated_pipelines_design.html>`_;
- **Расширяемость.** Алгоритмы для оптимизации пайплайнов не зависят от вида данных и задач, однако можно использовать `специальные стратегии <https://fedot.readthedocs.io/en/master/api/strategies.html>`_ для определенных классов задач или типов данных (прогнозирование временных рядов, NLP, табличные данные и т.д.) для повышения эффективности;
- **Интегрируемость.** FEDOT поддерживает широко используемые библиотеки МО (Scikit-learn, CatBoost, XGBoost и т.д.) и позволяет интегрировать `пользовательские библиотеки <https://fedot.readthedocs.io/en/master/api/strategies.html#module-fedot.core.operations.evaluation.custom>`_;
- **Тюнингуемость.** Поддерживаются различные методы `настройки гиперпараметров <https://fedot.readthedocs.io/en/master/advanced/hyperparameters_tuning.html>`_, включая пользовательские метрики оценивания и пространства параметров моделей;
- **Универсальность.** FEDOT `не ограничивается конкретными задачами моделирования <https://fedot.readthedocs.io/en/master/advanced/architecture.html>`_, например, его можно использовать в ODE или PDE;
- **Воспроизводимость.** Получаемые паплайны можно `экспортировать в формате JSON отдельно <https://fedot.readthedocs.io/en/master/advanced/pipeline_import_export.html>`_ или `вместе с входными данными в формате архива ZIP <https://fedot.readthedocs.io/en/master/advanced/project_import_export.html>`_, для воспроизведения экспериментов;
- **Кастомизируемость.** FEDOT позволяет `настраивать сложность моделей <https://fedot.readthedocs.io/en/master/introduction/fedot_features/automation_features.html#models-used>`_, тем самым, получать необходимое качество.

Установка
=========
Expand Down Expand Up @@ -200,8 +193,6 @@ Jupyter ноутбуки с примерами находятся в репоз
Документация
============

Общее описание доступно в репозитории `FEDOT.Docs <https://itmo-nss-team.github.io/FEDOT.Miscellaneous>`__.

Подробное описание FEDOT API доступно в разделе `Read the Docs <https://fedot.readthedocs.io/en/latest/>`__.

Как участвовать
Expand Down
25 changes: 8 additions & 17 deletions README_en.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,23 +49,16 @@ More details about FEDOT are available in the next video:
:target: http://www.youtube.com/watch?v=RjbuV6i6de4
:alt: Introducing Fedot

FEDOT Features
FEDOT concepts
==============

The main features of the framework are as follows:

- **Flexibility.** FEDOT is highly flexible: it can be used to automate the construction of solutions for various problems, data types, and models;
- **Integration with ML libraries.** FEDOT supports widely used ML libraries (Scikit-Learn, Catboost, Xgboost, etc.) and allows you to integrate custom ones;
- **Extensibility for new domains.** Pipeline optimization algorithms are data- and task-independent, yet you can use special templates for a specific task class or data type (time series forecasting, NLP, tabular data, etc.) to increase the efficiency;
- **No limits.** The framework is versatile and is not limited to specific modeling tasks, for example, it can be used in ODE or PDE;
- **Support of hyper-parameter tuning.** Hyper-parameter tuning methods are supported. Custom methods can also be integrated in FEDOT;
- **Reproducibility.** You can export the resulting pipelines in JSON format for experiment reproducibility.

Compared to other frameworks:

- There are no limits to specific modeling tasks, therefore FEDOT claims versatility and expandability;
- Allows managing the complexity of models and thereby achieving better results.
- Allows building pipelines using different types of input data (texts, images, tables, etc.) and consisting of various models.
- **Flexibility.** FEDOT can be used to automate the construction of solutions for various `problems <https://fedot.readthedocs.io/en/master/introduction/fedot_features/main_features.html#involved-tasks>`_, `data types <https://fedot.readthedocs.io/en/master/introduction/fedot_features/automation_features.html#data-nature>`_ (texts, images, tables), and `models <https://fedot.readthedocs.io/en/master/advanced/automated_pipelines_design.html>`_;
- **Extensibility.** Pipeline optimization algorithms are data- and task-independent, yet you can use `special strategies <https://fedot.readthedocs.io/en/master/api/strategies.html>`_ for specific tasks or data types (time-series forecasting, NLP, tabular data, etc.) to increase the efficiency;
- **Integrability.** FEDOT supports widely used ML libraries (Scikit-learn, CatBoost, XGBoost, etc.) and allows you to integrate `custom ones <https://fedot.readthedocs.io/en/master/api/strategies.html#module-fedot.core.operations.evaluation.custom>`_;
- **Tuningability.** Various `hyper-parameters tuning methods <https://fedot.readthedocs.io/en/master/advanced/hyperparameters_tuning.html>`_ are supported including models' custom evaluation metrics and search spaces;
- **Versatility.** FEDOT is `not limited to specific modeling tasks <https://fedot.readthedocs.io/en/master/advanced/architecture.html>`_, for example, it can be used in ODE or PDE;
- **Reproducibility.** Resulting pipelines can be `exported separately as JSON <https://fedot.readthedocs.io/en/master/advanced/pipeline_import_export.html>`_ or `together with your input data as ZIP archive <https://fedot.readthedocs.io/en/master/advanced/project_import_export.html>`_ for experiments reproducibility;
- **Customizability.** FEDOT allows `managing models complexity <https://fedot.readthedocs.io/en/master/introduction/fedot_features/automation_features.html#models-used>`_ and thereby achieving desired quality.

Installation
============
Expand Down Expand Up @@ -201,8 +194,6 @@ Any contribution is welcome. Our R&D team is open for cooperation with other sci
Documentation
=============

The general description is available in the `FEDOT.Docs <https://itmo-nss-team.github.io/FEDOT.Miscellaneous>`__ repository.

Also, a detailed FEDOT API description is available in `Read the Docs <https://fedot.readthedocs.io/en/latest/>`__.

Contribution Guide
Expand Down
3 changes: 2 additions & 1 deletion docs/source/api/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ Modules
api
composer
data
eval_strategy
strategies
transformations
node
operation
pipeline
Expand Down
95 changes: 95 additions & 0 deletions docs/source/api/strategies.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
Strategies
----------

Evaluation
^^^^^^^^^^

Interface
"""""""""
.. automodule:: fedot.core.operations.evaluation.evaluation_interfaces
:members:
:no-undoc-members:

Classification
""""""""""""""
.. automodule:: fedot.core.operations.evaluation.classification
:members:
:no-undoc-members:

Regression
""""""""""
.. automodule:: fedot.core.operations.evaluation.regression
:members:
:no-undoc-members:

Time-series
"""""""""""
.. automodule:: fedot.core.operations.evaluation.time_series
:members:
:no-undoc-members:

Clustering
""""""""""
.. automodule:: fedot.core.operations.evaluation.clustering
:members:
:no-undoc-members:

AutoML
""""""
.. automodule:: fedot.core.operations.evaluation.automl
:members:
:undoc-members:

Text
""""
.. automodule:: fedot.core.operations.evaluation.text
:members:
:no-undoc-members:

Custom
""""""
.. automodule:: fedot.core.operations.evaluation.custom
:members:
:no-undoc-members:

GPU Evaluation
^^^^^^^^^^^^^^

Interface
"""""""""
.. automodule:: fedot.core.operations.evaluation.gpu.common
:members:
:no-undoc-members:

CuMLRegressionClassification
""""""""""""""""""""""""""""
.. automodule:: fedot.core.operations.evaluation.gpu.classification
:members:
:no-undoc-members:

CuMLRegressionStrategy
""""""""""""""""""""""
.. automodule:: fedot.core.operations.evaluation.gpu.regression
:members:
:no-undoc-members:

CuMLClusteringStrategy
""""""""""""""""""""""
.. automodule:: fedot.core.operations.evaluation.gpu.clustering
:members:
:no-undoc-members:

Data
^^^^

Data source
"""""""""""
.. automodule:: fedot.core.operations.evaluation.data_source
:members:
:no-undoc-members:

Preprocessing
"""""""""""""
.. automodule:: fedot.core.operations.evaluation.common_preprocessing
:members:
:no-undoc-members:
Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
Evaluation Strategy
===================
.. automodule:: fedot.core.operations.evaluation.evaluation_interfaces
:members:
:no-undoc-members:

Preprocessing
-------------
.. automodule:: fedot.core.operations.evaluation.common_preprocessing
:members:
:no-undoc-members:
Transformations
---------------

Sklearn Transformation
----------------------
^^^^^^^^^^^^^^^^^^^^^^
.. automodule:: fedot.core.operations.evaluation.operation_implementations.data_operations.sklearn_transformations
:members:
:no-undoc-members:

Time Series Transformation
--------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. automodule:: fedot.core.operations.evaluation.operation_implementations.data_operations.ts_transformations
:members:
:no-undoc-members:
2 changes: 0 additions & 2 deletions docs/source/basics/concepts.rst

This file was deleted.

2 changes: 1 addition & 1 deletion docs/source/basics/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ and reproducibility of the experiments.
.. toctree::
:maxdepth: 1

concepts
main_concepts
tabular_data
ts_forecasting
multi_modal_tasks
Expand Down
12 changes: 12 additions & 0 deletions docs/source/basics/main_concepts.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Main Concepts
=============

The main framework concepts are as follows:

- **Flexibility.** FEDOT can be used to automate the construction of solutions for various `problems <https://fedot.readthedocs.io/en/master/introduction/fedot_features/main_features.html#involved-tasks>`_, `data types <https://fedot.readthedocs.io/en/master/introduction/fedot_features/automation_features.html#data-nature>`_ (texts, images, tables), and :doc:`models </advanced/automated_pipelines_design>`;
- **Extensibility.** Pipeline optimization algorithms are data- and task-independent, yet you can use :doc:`special strategies </api/strategies>` for specific tasks or data types (time-series forecasting, NLP, tabular data, etc.) to increase the efficiency;
- **Integrability.** FEDOT supports widely used ML libraries (Scikit-learn, CatBoost, XGBoost, etc.) and allows you to integrate `custom ones <https://fedot.readthedocs.io/en/master/api/strategies#module-fedot.core.operations.evaluation.custom>`_;
- **Tuningability.** Various :doc:`hyper-parameters tuning methods </advanced/hyperparameters_tuning>` are supported including models' custom evaluation metrics and search spaces;
- **Versatility.** FEDOT is :doc:`not limited to specific modeling tasks </advanced/architecture>`, for example, it can be used in ODE or PDE;
- **Reproducibility.** Resulting pipelines can be :doc:`exported separately as JSON </advanced/pipeline_import_export>` or :doc:`together with your input data as ZIP archive </advanced/project_import_export>` for experiments reproducibility;
- **Customizability.** FEDOT allows `managing models complexity <https://fedot.readthedocs.io/en/master/introduction/fedot_features/automation_features.html#models-used>`_ and thereby achieving desired quality.
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
autoclass_content = 'class'
autodoc_typehints = 'description'
autodoc_typehints_format = 'short'
autodoc_mock_imports = ['objgraph', 'memory_profiler', 'gprof2dot', 'snakeviz']
autodoc_mock_imports = ['objgraph', 'memory_profiler', 'gprof2dot', 'snakeviz', 'h2o', 'tpot']

intersphinx_mapping = {
'golem': ('https://thegolem.readthedocs.io/en/latest/', None),
Expand Down
17 changes: 0 additions & 17 deletions docs/source/introduction/fedot_features.rst

This file was deleted.

Loading

0 comments on commit 0be0311

Please sign in to comment.