.. 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"
}