aimclub/FEDOT

Automated modeling and machine learning framework FEDOT

FEDOT – AutoML 框架

简介 – FEDOT 是一个用于自动构建机器学习流水线的开源 Python 库。它使用进化搜索将预处理、特征工程和模型模块组合成有向图流水线,然后进行超参数调优。该库针对经典的 AutoML 任务(分类、回归、聚类、时间序列预测),并且可以扩展到自定义数据类型(文本、图像)甚至科学建模(ODE/PDE)。

核心能力

  • 流水线生成 – 自动设计并优化复合流水线,无需手动编码。
  • 进化优化 – 核心搜索算法是遗传风格的进化,可以探索多种流水线结构。
  • 可扩展性 – 支持 scikit-learn、XGBoost、CatBoost 等,并允许您插入自己的模型或自定义评估指标。
  • 多任务支持 – 原生支持分类(二分类/多分类)、回归、聚类和时间序列预测。
  • 可复现性 – 流水线可以导出为 JSON 或连同数据一起导出为 ZIP 文件。
  • 便捷的 API – 具有 fitpredictget_metrics 方法的高级 Fedot 类,支持 NumPy 数组、pandas DataFrame 或文件路径。
  • 可选扩展 – 通过额外的依赖项启用图像、文本和深度学习组件。
  • Docker 镜像 – 提供即插即用的容器。

典型用法

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)

该调用会在给定的时间预算内触发寻找最佳流水线的进化搜索。

更多学习资源

  • 完整文档:https://fedot.readthedocs.io
  • 示例 Notebook(入门、时间序列、多模态、混合建模)位于独立的 fedot-examples 仓库中。
  • YouTube 上的视频教程(俄语)以及 README 中链接的简短介绍视频。

项目健康状况

  • 在 PyPI 上发布 (pip install fedot),并提供用于 DNN 支持的可选 [extra]
  • CI 徽章显示了活跃的单元测试、集成测试和代码覆盖率。
  • 由 ITMO 大学 Natural Systems Simulation Lab 积极开发;未来的工作包括 LLM 引导的 AutoML (FEDOT.LLM) 和通过 GNN/RL 进行元学习 (GAMLET)。

适用人群 需要自动化的方式来探索复杂模型流水线的数据科学家或研究人员,特别是处理异构数据或时间序列问题时,以及那些偏好可扩展的以 Python 为中心的开源解决方案的人群。

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • 项目