fedot-ind


Namefedot-ind JSON
Version 0.4.1.2 PyPI version JSON
download
home_pagehttps://github.com/aimclub/Fedot.Industrial
SummaryAutomated machine learning framework for time series analysis
upload_time2024-03-07 12:51:52
maintainer
docs_urlNone
authorNSS Lab
requires_python>=3.8
licenseBSD 3-Clause
keywords automated machine learning time series analysis anomaly detection classification
VCS
bugtrack_url
requirements fedot catboost MKLpy PyMonad PyWavelets giotto_tda ripser fastcore fastai distributed datasetsforecast tensorly torch torchvision statsforecast chardet
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. image:: /docs/img/fedot-industrial.png
    :width: 600px
    :align: center
    :alt: Fedot Industrial logo


================================================================================


.. start-badges
.. list-table::
   :stub-columns: 1

   * - Code
     - | |version| |python|
   * - CI/CD
     - | |coverage| |mirror| |integration|
   * - Docs & Examples
     - |docs| |binder|
   * - Downloads
     - | |downloads|
   * - Support
     - | |support|
   * - Languages
     - | |eng| |rus|
   * - Funding
     - | |itmo| |sai|
.. end-badges

.. |version| image:: https://badge.fury.io/py/fedot-ind.svg
    :target: https://badge.fury.io/py/fedot-ind
    :alt: PyPi version

.. |python| image:: https://img.shields.io/pypi/pyversions/fedot_ind.svg
   :alt: Supported Python Versions
   :target: https://img.shields.io/pypi/pyversions/fedot_ind

.. |build| image:: https://badgen.net/#badge/build/error/red?icon=pypi
   :alt: Build Status

.. |integration| image:: https://github.com/aimclub/Fedot.Industrial/actions/workflows/integration_tests.yml/badge.svg?branch=main
   :alt: Integration Tests Status
   :target: https://github.com/aimclub/Fedot.Industrial/actions/workflows/integration_tests.yml

.. |coverage| image:: https://codecov.io/gh/aimclub/Fedot.Industrial/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/aimclub/Fedot.Industrial/

.. |mirror| image:: https://img.shields.io/badge/mirror-GitLab-orange
   :alt: GitLab mirror for this repository
   :target: https://gitlab.actcognitive.org/itmo-nss-team/Fedot.Industrial

.. |docs| image:: https://readthedocs.org/projects/ebonite/badge/
    :target: https://fedotindustrial.readthedocs.io/en/latest/
    :alt: Documentation Status

.. |binder| image:: https://mybinder.org/badge_logo.svg
    :target: https://mybinder.org/v2/gh/aimclub/Fedot.Industrial/HEAD

.. |downloads| image:: https://static.pepy.tech/personalized-badge/fedot-ind?period=total&units=international_system&left_color=black&right_color=blue&left_text=Downloads
    :target: https://pepy.tech/project/fedot-ind
    :alt: Downloads

.. |support| image:: https://img.shields.io/badge/Telegram-Group-blue.svg
    :target: https://t.me/fedotindustrial_support
    :alt: Support

.. |rus| image:: https://img.shields.io/badge/lang-ru-yellow.svg
    :target: /README.rst

.. |eng| image:: https://img.shields.io/badge/lang-eng-green.svg
    :target: /README_en.rst

.. |itmo| image:: https://github.com/aimclub/open-source-ops/blob/master/badges/ITMO_badge_flat.svg
   :alt: Acknowledgement to ITMO
   :target: https://en.itmo.ru/en/

.. |sai| image:: https://github.com/ITMO-NSS-team/open-source-ops/blob/master/badges/SAI_badge_flat.svg
   :alt: Acknowledgement to SAI
   :target: https://sai.itmo.ru/



Fedot.Ind is a automated machine learning framework designed to solve industrial problems related
to time series forecasting, classification, and regression. It is based on
the `AutoML framework FEDOT`_ and utilizes its functionality to build and tune pipelines.


Installation
============

Fedot.Ind is available on PyPI and can be installed via pip:

.. code-block:: bash

    pip install fedot_ind

To install the latest version from the `main branch`_:

.. code-block:: bash

    git clone https://github.com/aimclub/Fedot.Industrial.git
    cd FEDOT.Industrial
    pip install -r requirements.txt
    pytest -s test/

How to Use
==========

Fedot.Ind provides a high-level API that allows you to use its capabilities in a simple way.
The API can be used for classification, regression, and time series forecasting problems, as well as
for anomaly detection.

To use the API, follow these steps:

1. Import ``FedotIndustrial`` class

.. code-block:: python

 from fedot_ind.api.main import FedotIndustrial

2. Initialize the FedotIndustrial object and define the type of modeling task.
It provides a fit/predict interface:

- ``FedotIndustrial.fit()`` begins the feature extraction, optimization and returns the resulting composite pipeline;
- ``FedotIndustrial.predict()`` predicts target values for the given input data using an already fitted pipeline;
- ``FedotIndustrial.get_metrics()`` estimates the quality of predictions using selected metrics.

NumPy arrays or Pandas DataFrames can be used as sources of input data.
In the case below, ``x_train / x_test``, ``y_train / y_test`` are ``pandas.DataFrame()`` and ``numpy.ndarray`` respectively:

.. code-block:: python

    dataset_name = 'Epilepsy'
    industrial = FedotIndustrial(problem='classification',
                                 metric='f1',
                                 timeout=5,
                                 n_jobs=2,
                                 logging_level=20)

    train_data, test_data = DataLoader(dataset_name=dataset_name).load_data()

    model = industrial.fit(train_data)

    labels = industrial.predict(test_data)
    probs = industrial.predict_proba(test_data)
    metrics = industrial.get_metrics(target=test_data[1],
                                     rounding_order=3,
                                     metric_names=['f1', 'accuracy', 'precision', 'roc_auc'])

More information about the API is available in the `documentation <https://fedotindustrial.readthedocs.io/en/latest/API/index.html>`__ section.


Documentation and examples
==========================

The comprehensive documentation is available on `readthedocs`_.

Useful tutorials and examples can be found in the `examples`_ folder.


.. list-table::
   :widths: 100 70
   :header-rows: 1

   * - Topic
     - Example
   * - Time series classification
     - `Basic_TSC <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_classification/basic_example.py>`_ and `Advanced_TSC <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_classification/advanced_example.py>`_
   * - Time series regression
     - `Basic_TSR <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_regression/basic_example.py>`_, `Advanced_TSR <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_regression/advanced_regression.py>`_, `Multi-TS <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_regression/multi_ts_example.py>`_
   * - Forecasting
     - `SSA example <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_forecasting/ssa_forecasting.py>`_
   * - Anomaly detection
     - soon will be available
   * - Model ensemble
     - `Notebook <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/notebook_examples/rank_ensemle.ipynb>`_

Benchmarking
============

Univariate time series classification
-------------------------------------

Benchmarking was performed on the collection of 112 out of 144 datasets from the `UCR archive`_.

.. list-table::
   :widths: 100 30 30 30 30

   * - Algorithm
     - Top-1
     - Top-3
     - Top-5
     - Top-Half
   * - **Fedot_Industrial**
     - 17.0
     - 23.0
     - 26.0
     - 38
   * - HC2
     - 16.0
     - 55.0
     - 77.0
     - 88
   * - FreshPRINCE
     - 15.0
     - 22.0
     - 32.0
     - 48
   * - InceptionT
     - 14.0
     - 32.0
     - 54.0
     - 69
   * - Hydra-MR
     - 13.0
     - 48.0
     - 69.0
     - 77
   * - RDST
     - 7.0
     - 21.0
     - 50.0
     - 73
   * - RSTSF
     - 6.0
     - 19.0
     - 35.0
     - 65
   * - WEASEL_D
     - 4.0
     - 20.0
     - 36.0
     - 59
   * - TS-CHIEF
     - 3.0
     - 11.0
     - 21.0
     - 30
   * - HIVE-COTE v1.0
     - 2.0
     - 9.0
     - 18.0
     - 27
   * - PF
     - 2.0
     - 9.0
     - 27.0
     - 40


Multivariate time series classification
---------------------------------------

Benchmarking was performed on the following datasets:
BasicMotions, Cricket, LSST, FingerMovements, HandMovementDirection, NATOPS, PenDigits, RacketSports, Heartbeat, AtrialFibrillation, SelfRegulationSCP2

.. list-table::
   :widths: 100 30

   * - Algorithm
     - Mean Rank
   * - HC2
     - 5.038
   * - ROCKET
     - 6.481
   * - Arsenal
     - 7.615
   * - **Fedot_Industrial**
     - 7.712
   * - DrCIF
     - 7.712
   * - CIF
     - 8.519
   * - MUSE
     - 8.700
   * - HC1
     - 9.212
   * - TDE
     - 9.731
   * - ResNet
     - 10.346
   * - mrseql
     - 10.625


Time series regression
----------------------

Benchmarking was performed on the following datasets:
HouseholdPowerConsumption1, AppliancesEnergy, HouseholdPowerConsumption2, IEEEPPG, FloodModeling1, BeijingPM25Quality, BenzeneConcentration, FloodModeling3, BeijingPM10Quality, FloodModeling2, AustraliaRainfall


.. list-table::
   :widths: 100 30

   * - Algorithm
     - Mean Rank
   * - FreshPRINCE
     - 6.014
   * - DrCIF
     - 6.786
   * - **Fedot_Industrial**
     - 8.114
   * - InceptionT
     - 8.957
   * - RotF
     - 9.414
   * - RIST
     - 9.786
   * - TSF
     - 9.929
   * - RandF
     - 10.286
   * - MultiROCKET
     - 10.557
   * - ResNet
     - 11.171
   * - SingleInception
     - 11.571



Real world cases
================

Building energy consumption
----------------------------

Link to the dataset `on Kaggle <https://www.kaggle.com/competitions/ashrae-energy-prediction>`_

Full notebook with solution `is here <https://github.com/ITMO-NSS-team/Fedot.Industrial/blob/14bdb2f488c1246376fa138f5a2210795fcc16aa/cases/industrial_examples/energy_monitoring/building_energy_consumption.ipynb>`_

The challenge is to develop accurate counterfactual models that estimate energy consumption savings
post-retrofit. Leveraging a dataset comprising three years of hourly meter readings from over a
thousand buildings, the goal is to predict energy consumption (in kWh). Key predictors include **air temperature**,
**dew temperature**, **wind direction**, and **wind speed**.


.. image:: /docs/img/building-target.png
    :align: center
    :alt: building target

.. image:: /docs/img/building_energy.png
    :align: center
    :alt: building results


Results:

.. list-table::
   :widths: 100 60
   :header-rows: 1

   * - Algorithm
     - RMSE_average
   * - `FPCR <https://onlinelibrary.wiley.com/doi/10.1111/insr.12116>`_
     - 455.941
   * - `Grid-SVR <https://proceedings.neurips.cc/paper/1996/file/d38901788c533e8286cb6400b40b386d-Paper.pdf>`_
     - 464.389
   * - `FPCR-Bs <https://www.sciencedirect.com/science/article/abs/pii/S0167947313003629>`_
     - 465.844
   * - `5NN-DTW <https://link.springer.com/article/10.1007/s10618-016-0455-0>`_
     - 469.378
   * - `CNN <https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7870510>`_
     - 484.637
   * - **Fedot.Industrial**
     - **486.398**
   * - `RDST <https://arxiv.org/abs/2109.13514>`_
     - 527.927
   * - `RandF <https://link.springer.com/article/10.1023/A:1010933404324>`_
     - 527.343


Permanent magnet synchronous motor (PMSM) rotor temperature
-----------------------------------------------------------
Link to the dataset on `Kaggle <https://www.kaggle.com/datasets/wkirgsn/electric-motor-temperature>`_

Full notebook with solution is `here <https://github.com/ITMO-NSS-team/Fedot.Industrial/blob/d3d5a4ddc2f4861622b6329261fc7b87396e0a6d/cases/industrial_examples/equipment_monitoring/motor_temperature.ipynb>`_

This dataset focuses on predicting the maximum recorded rotor temperature of a permanent magnet synchronous
motor (PMSM) during 30-second intervals. The data, sampled at 2 Hz, includes sensor readings such as
**ambient temperature**, **coolant temperatures**, **d and q components** of voltage, and **current**.
These readings are aggregated into 6-dimensional time series of length 60, representing 30 seconds.

The challenge is to develop a predictive model using the provided predictors to accurately estimate the
maximum rotor temperature, crucial for monitoring the motor's performance and ensuring optimal operating conditions.

.. image:: /docs/img/rotor-temp.png
    :align: center
    :alt: rotor temp

.. image:: /docs/img/motor-temperature.png
    :align: center
    :alt: solution


Results:

.. list-table::
   :widths: 100 70
   :header-rows: 1

   * - Algorithm
     - RMSE_average
   * - **Fedot.Industrial**
     - **1.158612**
   * - `FreshPRINCE <https://arxiv.org/abs/2305.01429>`_
     - 1.490442
   * - `RIST <https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3486435/>`_
     - 1.501047
   * - `RotF <https://ieeexplore.ieee.org/document/1677518>`_
     - 1.559385
   * - `DrCIF <https://arxiv.org/abs/2305.01429>`_
     - 1.594442
   * - `TSF <https://arxiv.org/abs/1302.2277>`_
     - 1.684828


================================================================================

R&D plans
=========

– Expansion of anomaly detection model list.

– Development of new time series forecasting models.

– Implementation of explainability module (`Issue <https://github.com/aimclub/Fedot.Industrial/issues/93>`_)


Citation
========

Here we will provide a list of citations for the project as soon as the articles
are published.

.. code-block:: bibtex

    @article{REVIN2023110483,
    title = {Automated machine learning approach for time series classification pipelines using evolutionary optimisation},
    journal = {Knowledge-Based Systems},
    pages = {110483},
    year = {2023},
    issn = {0950-7051},
    doi = {https://doi.org/10.1016/j.knosys.2023.110483},
    url = {https://www.sciencedirect.com/science/article/pii/S0950705123002332},
    author = {Ilia Revin and Vadim A. Potemkin and Nikita R. Balabanov and Nikolay O. Nikitin
    }



.. _AutoML framework FEDOT: https://github.com/aimclub/FEDOT
.. _UCR archive: https://www.cs.ucr.edu/~eamonn/time_series_data/
.. _main branch: https://github.com/aimclub/Fedot.Industrial
.. _readthedocs: https://fedotindustrial.readthedocs.io/en/latest/
.. _examples: https://github.com/aimclub/Fedot.Industrial/tree/main/examples

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/aimclub/Fedot.Industrial",
    "name": "fedot-ind",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "automated machine learning,time series analysis,anomaly detection,classification",
    "author": "NSS Lab",
    "author_email": "itmo.nss.team@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/c9/aa/b56915a89d3468e0eb206fcfe7ffdeb4637a5afde7d92964845eb69d0499/fedot_ind-0.4.1.2.tar.gz",
    "platform": null,
    "description": ".. image:: /docs/img/fedot-industrial.png\n    :width: 600px\n    :align: center\n    :alt: Fedot Industrial logo\n\n\n================================================================================\n\n\n.. start-badges\n.. list-table::\n   :stub-columns: 1\n\n   * - Code\n     - | |version| |python|\n   * - CI/CD\n     - | |coverage| |mirror| |integration|\n   * - Docs & Examples\n     - |docs| |binder|\n   * - Downloads\n     - | |downloads|\n   * - Support\n     - | |support|\n   * - Languages\n     - | |eng| |rus|\n   * - Funding\n     - | |itmo| |sai|\n.. end-badges\n\n.. |version| image:: https://badge.fury.io/py/fedot-ind.svg\n    :target: https://badge.fury.io/py/fedot-ind\n    :alt: PyPi version\n\n.. |python| image:: https://img.shields.io/pypi/pyversions/fedot_ind.svg\n   :alt: Supported Python Versions\n   :target: https://img.shields.io/pypi/pyversions/fedot_ind\n\n.. |build| image:: https://badgen.net/#badge/build/error/red?icon=pypi\n   :alt: Build Status\n\n.. |integration| image:: https://github.com/aimclub/Fedot.Industrial/actions/workflows/integration_tests.yml/badge.svg?branch=main\n   :alt: Integration Tests Status\n   :target: https://github.com/aimclub/Fedot.Industrial/actions/workflows/integration_tests.yml\n\n.. |coverage| image:: https://codecov.io/gh/aimclub/Fedot.Industrial/branch/main/graph/badge.svg\n    :target: https://codecov.io/gh/aimclub/Fedot.Industrial/\n\n.. |mirror| image:: https://img.shields.io/badge/mirror-GitLab-orange\n   :alt: GitLab mirror for this repository\n   :target: https://gitlab.actcognitive.org/itmo-nss-team/Fedot.Industrial\n\n.. |docs| image:: https://readthedocs.org/projects/ebonite/badge/\n    :target: https://fedotindustrial.readthedocs.io/en/latest/\n    :alt: Documentation Status\n\n.. |binder| image:: https://mybinder.org/badge_logo.svg\n    :target: https://mybinder.org/v2/gh/aimclub/Fedot.Industrial/HEAD\n\n.. |downloads| image:: https://static.pepy.tech/personalized-badge/fedot-ind?period=total&units=international_system&left_color=black&right_color=blue&left_text=Downloads\n    :target: https://pepy.tech/project/fedot-ind\n    :alt: Downloads\n\n.. |support| image:: https://img.shields.io/badge/Telegram-Group-blue.svg\n    :target: https://t.me/fedotindustrial_support\n    :alt: Support\n\n.. |rus| image:: https://img.shields.io/badge/lang-ru-yellow.svg\n    :target: /README.rst\n\n.. |eng| image:: https://img.shields.io/badge/lang-eng-green.svg\n    :target: /README_en.rst\n\n.. |itmo| image:: https://github.com/aimclub/open-source-ops/blob/master/badges/ITMO_badge_flat.svg\n   :alt: Acknowledgement to ITMO\n   :target: https://en.itmo.ru/en/\n\n.. |sai| image:: https://github.com/ITMO-NSS-team/open-source-ops/blob/master/badges/SAI_badge_flat.svg\n   :alt: Acknowledgement to SAI\n   :target: https://sai.itmo.ru/\n\n\n\nFedot.Ind is a automated machine learning framework designed to solve industrial problems related\nto time series forecasting, classification, and regression. It is based on\nthe `AutoML framework FEDOT`_ and utilizes its functionality to build and tune pipelines.\n\n\nInstallation\n============\n\nFedot.Ind is available on PyPI and can be installed via pip:\n\n.. code-block:: bash\n\n    pip install fedot_ind\n\nTo install the latest version from the `main branch`_:\n\n.. code-block:: bash\n\n    git clone https://github.com/aimclub/Fedot.Industrial.git\n    cd FEDOT.Industrial\n    pip install -r requirements.txt\n    pytest -s test/\n\nHow to Use\n==========\n\nFedot.Ind provides a high-level API that allows you to use its capabilities in a simple way.\nThe API can be used for classification, regression, and time series forecasting problems, as well as\nfor anomaly detection.\n\nTo use the API, follow these steps:\n\n1. Import ``FedotIndustrial`` class\n\n.. code-block:: python\n\n from fedot_ind.api.main import FedotIndustrial\n\n2. Initialize the FedotIndustrial object and define the type of modeling task.\nIt provides a fit/predict interface:\n\n- ``FedotIndustrial.fit()`` begins the feature extraction, optimization and returns the resulting composite pipeline;\n- ``FedotIndustrial.predict()`` predicts target values for the given input data using an already fitted pipeline;\n- ``FedotIndustrial.get_metrics()`` estimates the quality of predictions using selected metrics.\n\nNumPy arrays or Pandas DataFrames can be used as sources of input data.\nIn the case below, ``x_train / x_test``, ``y_train / y_test`` are ``pandas.DataFrame()`` and ``numpy.ndarray`` respectively:\n\n.. code-block:: python\n\n    dataset_name = 'Epilepsy'\n    industrial = FedotIndustrial(problem='classification',\n                                 metric='f1',\n                                 timeout=5,\n                                 n_jobs=2,\n                                 logging_level=20)\n\n    train_data, test_data = DataLoader(dataset_name=dataset_name).load_data()\n\n    model = industrial.fit(train_data)\n\n    labels = industrial.predict(test_data)\n    probs = industrial.predict_proba(test_data)\n    metrics = industrial.get_metrics(target=test_data[1],\n                                     rounding_order=3,\n                                     metric_names=['f1', 'accuracy', 'precision', 'roc_auc'])\n\nMore information about the API is available in the `documentation <https://fedotindustrial.readthedocs.io/en/latest/API/index.html>`__ section.\n\n\nDocumentation and examples\n==========================\n\nThe comprehensive documentation is available on `readthedocs`_.\n\nUseful tutorials and examples can be found in the `examples`_ folder.\n\n\n.. list-table::\n   :widths: 100 70\n   :header-rows: 1\n\n   * - Topic\n     - Example\n   * - Time series classification\n     - `Basic_TSC <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_classification/basic_example.py>`_ and `Advanced_TSC <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_classification/advanced_example.py>`_\n   * - Time series regression\n     - `Basic_TSR <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_regression/basic_example.py>`_, `Advanced_TSR <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_regression/advanced_regression.py>`_, `Multi-TS <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_regression/multi_ts_example.py>`_\n   * - Forecasting\n     - `SSA example <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/pipeline_example/time_series/ts_forecasting/ssa_forecasting.py>`_\n   * - Anomaly detection\n     - soon will be available\n   * - Model ensemble\n     - `Notebook <https://github.com/aimclub/Fedot.Industrial/blob/main/examples/notebook_examples/rank_ensemle.ipynb>`_\n\nBenchmarking\n============\n\nUnivariate time series classification\n-------------------------------------\n\nBenchmarking was performed on the collection of 112 out of 144 datasets from the `UCR archive`_.\n\n.. list-table::\n   :widths: 100 30 30 30 30\n\n   * - Algorithm\n     - Top-1\n     - Top-3\n     - Top-5\n     - Top-Half\n   * - **Fedot_Industrial**\n     - 17.0\n     - 23.0\n     - 26.0\n     - 38\n   * - HC2\n     - 16.0\n     - 55.0\n     - 77.0\n     - 88\n   * - FreshPRINCE\n     - 15.0\n     - 22.0\n     - 32.0\n     - 48\n   * - InceptionT\n     - 14.0\n     - 32.0\n     - 54.0\n     - 69\n   * - Hydra-MR\n     - 13.0\n     - 48.0\n     - 69.0\n     - 77\n   * - RDST\n     - 7.0\n     - 21.0\n     - 50.0\n     - 73\n   * - RSTSF\n     - 6.0\n     - 19.0\n     - 35.0\n     - 65\n   * - WEASEL_D\n     - 4.0\n     - 20.0\n     - 36.0\n     - 59\n   * - TS-CHIEF\n     - 3.0\n     - 11.0\n     - 21.0\n     - 30\n   * - HIVE-COTE v1.0\n     - 2.0\n     - 9.0\n     - 18.0\n     - 27\n   * - PF\n     - 2.0\n     - 9.0\n     - 27.0\n     - 40\n\n\nMultivariate time series classification\n---------------------------------------\n\nBenchmarking was performed on the following datasets:\nBasicMotions, Cricket, LSST, FingerMovements, HandMovementDirection, NATOPS, PenDigits, RacketSports, Heartbeat, AtrialFibrillation, SelfRegulationSCP2\n\n.. list-table::\n   :widths: 100 30\n\n   * - Algorithm\n     - Mean Rank\n   * - HC2\n     - 5.038\n   * - ROCKET\n     - 6.481\n   * - Arsenal\n     - 7.615\n   * - **Fedot_Industrial**\n     - 7.712\n   * - DrCIF\n     - 7.712\n   * - CIF\n     - 8.519\n   * - MUSE\n     - 8.700\n   * - HC1\n     - 9.212\n   * - TDE\n     - 9.731\n   * - ResNet\n     - 10.346\n   * - mrseql\n     - 10.625\n\n\nTime series regression\n----------------------\n\nBenchmarking was performed on the following datasets:\nHouseholdPowerConsumption1, AppliancesEnergy, HouseholdPowerConsumption2, IEEEPPG, FloodModeling1, BeijingPM25Quality, BenzeneConcentration, FloodModeling3, BeijingPM10Quality, FloodModeling2, AustraliaRainfall\n\n\n.. list-table::\n   :widths: 100 30\n\n   * - Algorithm\n     - Mean Rank\n   * - FreshPRINCE\n     - 6.014\n   * - DrCIF\n     - 6.786\n   * - **Fedot_Industrial**\n     - 8.114\n   * - InceptionT\n     - 8.957\n   * - RotF\n     - 9.414\n   * - RIST\n     - 9.786\n   * - TSF\n     - 9.929\n   * - RandF\n     - 10.286\n   * - MultiROCKET\n     - 10.557\n   * - ResNet\n     - 11.171\n   * - SingleInception\n     - 11.571\n\n\n\nReal world cases\n================\n\nBuilding energy consumption\n----------------------------\n\nLink to the dataset `on Kaggle <https://www.kaggle.com/competitions/ashrae-energy-prediction>`_\n\nFull notebook with solution `is here <https://github.com/ITMO-NSS-team/Fedot.Industrial/blob/14bdb2f488c1246376fa138f5a2210795fcc16aa/cases/industrial_examples/energy_monitoring/building_energy_consumption.ipynb>`_\n\nThe challenge is to develop accurate counterfactual models that estimate energy consumption savings\npost-retrofit. Leveraging a dataset comprising three years of hourly meter readings from over a\nthousand buildings, the goal is to predict energy consumption (in kWh). Key predictors include **air temperature**,\n**dew temperature**, **wind direction**, and **wind speed**.\n\n\n.. image:: /docs/img/building-target.png\n    :align: center\n    :alt: building target\n\n.. image:: /docs/img/building_energy.png\n    :align: center\n    :alt: building results\n\n\nResults:\n\n.. list-table::\n   :widths: 100 60\n   :header-rows: 1\n\n   * - Algorithm\n     - RMSE_average\n   * - `FPCR <https://onlinelibrary.wiley.com/doi/10.1111/insr.12116>`_\n     - 455.941\n   * - `Grid-SVR <https://proceedings.neurips.cc/paper/1996/file/d38901788c533e8286cb6400b40b386d-Paper.pdf>`_\n     - 464.389\n   * - `FPCR-Bs <https://www.sciencedirect.com/science/article/abs/pii/S0167947313003629>`_\n     - 465.844\n   * - `5NN-DTW <https://link.springer.com/article/10.1007/s10618-016-0455-0>`_\n     - 469.378\n   * - `CNN <https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7870510>`_\n     - 484.637\n   * - **Fedot.Industrial**\n     - **486.398**\n   * - `RDST <https://arxiv.org/abs/2109.13514>`_\n     - 527.927\n   * - `RandF <https://link.springer.com/article/10.1023/A:1010933404324>`_\n     - 527.343\n\n\nPermanent magnet synchronous motor (PMSM) rotor temperature\n-----------------------------------------------------------\nLink to the dataset on `Kaggle <https://www.kaggle.com/datasets/wkirgsn/electric-motor-temperature>`_\n\nFull notebook with solution is `here <https://github.com/ITMO-NSS-team/Fedot.Industrial/blob/d3d5a4ddc2f4861622b6329261fc7b87396e0a6d/cases/industrial_examples/equipment_monitoring/motor_temperature.ipynb>`_\n\nThis dataset focuses on predicting the maximum recorded rotor temperature of a permanent magnet synchronous\nmotor (PMSM) during 30-second intervals. The data, sampled at 2 Hz, includes sensor readings such as\n**ambient temperature**, **coolant temperatures**, **d and q components** of voltage, and **current**.\nThese readings are aggregated into 6-dimensional time series of length 60, representing 30 seconds.\n\nThe challenge is to develop a predictive model using the provided predictors to accurately estimate the\nmaximum rotor temperature, crucial for monitoring the motor's performance and ensuring optimal operating conditions.\n\n.. image:: /docs/img/rotor-temp.png\n    :align: center\n    :alt: rotor temp\n\n.. image:: /docs/img/motor-temperature.png\n    :align: center\n    :alt: solution\n\n\nResults:\n\n.. list-table::\n   :widths: 100 70\n   :header-rows: 1\n\n   * - Algorithm\n     - RMSE_average\n   * - **Fedot.Industrial**\n     - **1.158612**\n   * - `FreshPRINCE <https://arxiv.org/abs/2305.01429>`_\n     - 1.490442\n   * - `RIST <https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3486435/>`_\n     - 1.501047\n   * - `RotF <https://ieeexplore.ieee.org/document/1677518>`_\n     - 1.559385\n   * - `DrCIF <https://arxiv.org/abs/2305.01429>`_\n     - 1.594442\n   * - `TSF <https://arxiv.org/abs/1302.2277>`_\n     - 1.684828\n\n\n================================================================================\n\nR&D plans\n=========\n\n\u2013 Expansion of anomaly detection model list.\n\n\u2013 Development of new time series forecasting models.\n\n\u2013 Implementation of explainability module (`Issue <https://github.com/aimclub/Fedot.Industrial/issues/93>`_)\n\n\nCitation\n========\n\nHere we will provide a list of citations for the project as soon as the articles\nare published.\n\n.. code-block:: bibtex\n\n    @article{REVIN2023110483,\n    title = {Automated machine learning approach for time series classification pipelines using evolutionary optimisation},\n    journal = {Knowledge-Based Systems},\n    pages = {110483},\n    year = {2023},\n    issn = {0950-7051},\n    doi = {https://doi.org/10.1016/j.knosys.2023.110483},\n    url = {https://www.sciencedirect.com/science/article/pii/S0950705123002332},\n    author = {Ilia Revin and Vadim A. Potemkin and Nikita R. Balabanov and Nikolay O. Nikitin\n    }\n\n\n\n.. _AutoML framework FEDOT: https://github.com/aimclub/FEDOT\n.. _UCR archive: https://www.cs.ucr.edu/~eamonn/time_series_data/\n.. _main branch: https://github.com/aimclub/Fedot.Industrial\n.. _readthedocs: https://fedotindustrial.readthedocs.io/en/latest/\n.. _examples: https://github.com/aimclub/Fedot.Industrial/tree/main/examples\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause",
    "summary": "Automated machine learning framework for time series analysis",
    "version": "0.4.1.2",
    "project_urls": {
        "Homepage": "https://github.com/aimclub/Fedot.Industrial"
    },
    "split_keywords": [
        "automated machine learning",
        "time series analysis",
        "anomaly detection",
        "classification"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eff12bb7c6f15caf6251330430021755eea60d0e5990a4fd210123cdd81843ae",
                "md5": "cf3648edaf2f8e90aedd5461ba5e8665",
                "sha256": "e2ff78fd26b11816b2c22b3adb2aaf8eb7215a7170af5923c108ea36c600e44b"
            },
            "downloads": -1,
            "filename": "fedot_ind-0.4.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cf3648edaf2f8e90aedd5461ba5e8665",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 242798,
            "upload_time": "2024-03-07T12:51:50",
            "upload_time_iso_8601": "2024-03-07T12:51:50.970110Z",
            "url": "https://files.pythonhosted.org/packages/ef/f1/2bb7c6f15caf6251330430021755eea60d0e5990a4fd210123cdd81843ae/fedot_ind-0.4.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c9aab56915a89d3468e0eb206fcfe7ffdeb4637a5afde7d92964845eb69d0499",
                "md5": "132d2393019ad3a814f0d3bea34ceeab",
                "sha256": "1ad6a407457ad2517bd23911e84aee051b81f1a530176dac250caa90060456d5"
            },
            "downloads": -1,
            "filename": "fedot_ind-0.4.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "132d2393019ad3a814f0d3bea34ceeab",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 196316,
            "upload_time": "2024-03-07T12:51:52",
            "upload_time_iso_8601": "2024-03-07T12:51:52.454656Z",
            "url": "https://files.pythonhosted.org/packages/c9/aa/b56915a89d3468e0eb206fcfe7ffdeb4637a5afde7d92964845eb69d0499/fedot_ind-0.4.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-07 12:51:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aimclub",
    "github_project": "Fedot.Industrial",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "fedot",
            "specs": []
        },
        {
            "name": "catboost",
            "specs": [
                [
                    "==",
                    "1.1.1"
                ]
            ]
        },
        {
            "name": "MKLpy",
            "specs": [
                [
                    "==",
                    "0.6"
                ]
            ]
        },
        {
            "name": "PyMonad",
            "specs": [
                [
                    "==",
                    "2.4.0"
                ]
            ]
        },
        {
            "name": "PyWavelets",
            "specs": [
                [
                    "==",
                    "1.4.1"
                ]
            ]
        },
        {
            "name": "giotto_tda",
            "specs": [
                [
                    "==",
                    "0.6.0"
                ]
            ]
        },
        {
            "name": "ripser",
            "specs": [
                [
                    "==",
                    "0.6.4"
                ]
            ]
        },
        {
            "name": "fastcore",
            "specs": []
        },
        {
            "name": "fastai",
            "specs": []
        },
        {
            "name": "distributed",
            "specs": []
        },
        {
            "name": "datasetsforecast",
            "specs": []
        },
        {
            "name": "tensorly",
            "specs": [
                [
                    "==",
                    "0.8.1"
                ]
            ]
        },
        {
            "name": "torch",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "torchvision",
            "specs": [
                [
                    "==",
                    "0.15.1"
                ]
            ]
        },
        {
            "name": "statsforecast",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "chardet",
            "specs": []
        }
    ],
    "lcname": "fedot-ind"
}
        
Elapsed time: 0.19764s