yzhao062/pyod

A Python library for anomaly detection across tabular, time series, graph, text, image, and audio data. 60+ detectors, benchmark-backed ADEngine orchestration, and an agentic workflow for AI agents.

PyOD – Python 外れ値検出 (v3)

概要 – 成熟したオープンソースの Python ライブラリで、多くのデータモダリティ(表形式、時系列、グラフ、テキスト、画像、音声)向けの 60 以上の異常検出アルゴリズムをバンドルしています。バージョン 3 では、エージェント対応 のオーケストレーション層である ADEngine と、自然言語スキル(od-expert)が追加され、大規模言語モデルエージェント(Claude Code、Codex、または MCP 互換の LLM)がコードを書かずに検出ワークフローを駆動できるようになりました。

主要な柱

柱 意味
マルチモーダル 6 つのデータタイプにわたる 61 の検出器をカバーする統一 API。
フルライフサイクル 生データからスコア付き異常、説明、次のステップのガイダンスまで、1 回の呼び出しで。
エージェント駆動 LLM は od-expert スキルまたは MCP ツール(例:list_detectors、run_detection)を介して PyOD を呼び出すことができます。
最も使用されている >46M ダウンロード、ベンチマークに基づくモデルルーティング、多くのエンタープライズ採用者。

クイックインストール

pip install pyod                     # コアライブラリ
# エージェント用のオプションの拡張機能
pip install pyod[mcp]                # MCP 互換の LLM
pyod install skill                    # Claude Code / Codex スキルをインストール

いつでも pyod info を実行して、バージョン、検出器の数、環境に一致するアクティベーションパスを確認できます。


最小限の例(クラシック API)

from pyod.models.iforest import IForest
clf = IForest()
clf.fit(X_train)                     # 正常なパターンを学習
train_scores = clf.decision_scores_  # トレーニングデータの異常スコア
test_scores  = clf.decision_function(X_test)  # 新しいデータのスコア

同じ fit/predict インターフェースは、61 の検出器すべてで機能します。


3 つの使用レイヤー

レイヤー 使用するタイミング エントリポイント
1 – クラシック API 使用する検出器がわかっている場合。 from pyod.models.<mod> import <Detector>
2 – ADEngine PyOD に検出器の自動選択、比較、評価を任せる場合。 from pyod.utils.ad_engine import ADEngine
3 – エージェント駆動 LLM との自然言語対話を通じて検出を駆動する場合。 od-expert スキル(Claude Code / Codex)または MCP サーバー(python -m pyod.mcp_server)。

レイヤー 2 と 3 は ADEngine によって支えられており、データプロファイリング、モデルルーティング、トレーニング(SUOD 並列処理)、スコアリング、結果の説明をオーケストレーションします。


エージェント駆動の対話(例)

  • Claude Code または Codex ユーザーは、「胎児心拍数データセットで異常な心拍パターンを見つけてください。」 のようなリクエストを入力できます。od-expert スキルはリクエストを ADEngine ワークフローに変換し、選択された検出器を実行し、簡潔な説明と次のステップの提案を返します。MCP サーバーは、MCP 互換の LLM が呼び出せる 10 のステートレスツール(例:list_detectors、plan_detection、run_detection)を公開します。

エコシステムとベンチマーク

  • ベンチマーク:ADBench(表形式)、NLP-ADBench(テキスト)、TSB-AD(時系列)、BOND(グラフ) – すべてドキュメントからリンクされています。
  • 関連プロジェクト:PyGOD(グラフ AD)、TODS(時系列)、AD-LLM(LLM 駆動の AD)など。
  • パフォーマンス:SUOD に基づく高速並列トレーニングと、Numba JIT によるモデルごとの高速化。

ドキュメントとリソース

  • 完全な API リファレンス:https://pyod.readthedocs.io/en/latest/(表形式、時系列、グラフ、埋め込み、ADEngine、ユーティリティ)。
  • インストールガイド、チュートリアル、サンプルギャラリーはドキュメントサイトでホストされています。
  • インパクトページには、学術引用、エンタープライズ展開(Walmart、Databricks、Ericsson など)、書籍、コース、ポッドキャストがリストされています。

PyOD を選ぶべきタイミング

  • 多くの異常検出アルゴリズムとデータタイプをカバーする 単一のライブラリ が必要な場合。
  • 大規模なベンチマークに基づく 自動モデル選択 が必要な場合。
  • 検出を LLM 駆動のワークフロー(Claude、Codex、または MCP 互換モデル)に統合する予定がある場合。
  • 最新のオーケストレーション機能を備えつつ、安定した後方互換性のある API(fit/predict)を重視する場合。

ライセンス

BSD-3-Clause ライセンスの下でオープンソース。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト