Skip to content

0.3.0

Compare
Choose a tag to compare
@nicl-nno nicl-nno released this 10 May 22:17
· 533 commits to release since this release
2ed17b1

Hello everyone!

Our team finally has finished preparing a new major release of fedot == 0.3.0. Thanks to all dev team who was working on it!
It is available and can be imported via pip: https://pypi.org/project/fedot/0.3.0/.
The most important changes:

  • Extended data operations and their automatic optimization

Previously, Fedot (Chain objects) allow one to automatically build ML pipelines including models, but data operations (like scaling or gap-filling) were embedded in the nodes and could be changed manually only.
In the latest release we significantly refactored the core logic of the framework, thus data operations are fully supported as separate nodes. It can extend the overall search space of a suitable ML pipeline.

  • New AutoML for time-series forecasting

Now Fedot supports not the only manual building of ML pipelines for time-series forecasting but also in an automated mode via Composer! Fedot allow one to build pipelines and forecast time-series for a given window size and forecasting length. Also, it is possible to use exogen variables for forecasting. To check all features, see examples in the repository.

Our early studies showed it is a promising approach that can improve AutoML field for time-series. We are actively working on the benchmarking of well-known SOTA frameworks for time-series forecasting and novel results will be published in a near future. Also, you can check our fresh preprint about gap filling in time-series using Fedot framework.

  • Black-box optimization of ML pipeline hyperparameters

During the experiments, we found out that our previous version of tuning of hyperparameters seems to be ineffective (also it didn't work out for preprocessing nodes). Therefore, we significantly refactored the tuning module and it provides several schemas for black-box optimization of ML pipelines hyperparameters.
For details, check tuning module sources and the examples.

  • Multi-Objective AutoML for pipelines

Several months ago during the team discussion, we formulate a hypothesis: "Most of the AutoML frameworks are trying to maximize only one metric - prediction quality. But can we optimize several metrics (like pipeline complexity, for instance) simultaneously?"
So we made research where evolutionary multi-objective optimization algorithms (like NSGA-II, SPEA-2) were adapted to the AutoML task. And it was concluded that it is a promising feature and we have integrated it into Fedot. The preprint is available, but also you can check the example how to use multi-objective optimization via Fedot API.

  • New input data support for image classification

Later, we have announced that images will be supported in Fedot. And we made several changes in InputData and now pipelines for image classification can be built manually. We also added several CNN architectures and example of its usage. Composer should also work for image classification but we have not tested extensively this functionality yet.

Also, we have fixed a bunch of bugs and improved Fedot API.

Thanks to everyone who is following our progress! Any issues and user reports are welcomed.
Cya!