aimclub/FEDOT

Automated modeling and machine learning framework FEDOT

FEDOT – AutoML framework

What it is – FEDOT is an open‑source Python library that automatically builds machine‑learning pipelines. It uses an evolutionary search to compose preprocessing, feature‑engineering and model blocks into a directed‑graph pipeline, then tunes hyper‑parameters. The library targets classic AutoML tasks (classification, regression, clustering, time‑series forecasting) and can also be extended to custom data types (text, images) and even scientific modelling (ODE/PDE).

Key capabilities

  • Pipeline generation – automatically designs and optimises composite pipelines without hand‑coding.
  • Evolutionary optimisation – core search algorithm is a genetic‑style evolution that explores many pipeline structures.
  • Extensible – works with scikit‑learn, XGBoost, CatBoost, etc., and lets you plug in your own models or custom evaluation metrics.
  • Multi‑task support – classification (binary/multi), regression, clustering, and time‑series forecasting out of the box.
  • Reproducibility – pipelines can be exported as JSON or as a ZIP together with data.
  • Convenient API – a high‑level Fedot class with fit, predict and get_metrics methods works with NumPy arrays, pandas DataFrames or file paths.
  • Optional extras – extra dependencies enable image, text and deep‑learning components.
  • Docker images – ready‑to‑run containers are provided.

Typical usage

from fedot.api.main import Fedot

model = Fedot(problem='classification', timeout=5, preset='best_quality', n_jobs=-1)
model.fit(features=X_train, target=y_train)
pred = model.predict(features=X_test)
metrics = model.get_metrics(target=y_test)

The call triggers an evolutionary search for the best pipeline within the given time budget.

Where to learn more

  • Full documentation: https://fedot.readthedocs.io
  • Example notebooks (intro, time‑series, multimodal, hybrid modelling) in the separate fedot‑examples repo.
  • Video tutorials on YouTube (Russian) and a short introductory video linked in the README.

Project health

  • Distributed on PyPI (pip install fedot), with optional [extra] for DNN support.
  • CI badges show active unit‑, integration‑testing and code‑coverage.
  • Actively developed by the Natural Systems Simulation Lab at ITMO University; future work includes LLM‑guided AutoML (FEDOT.LLM) and meta‑learning via GNN/RL (GAMLET).

Who might use it Data scientists or researchers who need an automated way to explore complex model pipelines, especially when dealing with heterogeneous data or time‑series problems, and who prefer a Python‑centric, open‑source solution they can extend.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Project