aimclub/FEDOT
Automated modeling and machine learning framework FEDOT
FEDOT – AutoML フレームワーク
概要 – FEDOT は、機械学習パイプラインを自動的に構築するオープンソースの Python ライブラリです。進化型探索を使用して、前処理、特徴量エンジニアリング、モデルブロックを Directed Graph(有向グラフ)パイプラインとして構成し、その後ハイパーパラメータを調整します。このライブラリは、古典的な AutoML タスク(分類、回帰、クラスタリング、時系列予測)を対象としており、カスタムデータ型(テキスト、画像)や科学モデリング(ODE/PDE)にまで拡張可能です。
主な機能
- パイプライン生成 – 手動コーディングなしで、複合パイプラインを自動的に設計・最適化します。
- 進化型最適化 – コアとなる探索アルゴリズムは遺伝的アルゴリズム形式の進化であり、多くのパイプライン構造を探索します。
- 拡張性 – scikit-learn、XGBoost、CatBoost などと連携し、独自のモデルやカスタム評価指標をプラグインとして追加できます。
- マルチタスク対応 – 分類(バイナリ/マルチ)、回帰、クラスタリング、時系列予測に標準で対応しています。
- 再現性 – パイプラインは JSON またはデータと共に ZIP 形式でエクスポート可能です。
- 便利な API –
fit、predict、get_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
- サンプルノートブック(入門、時系列、マルチモーダル、ハイブリッドモデリング)は、別個の
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
- プロジェクト
- プロジェクト