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
  • 專案
  • 專案