
.. image:: https://raw.githubusercontent.com/yzhao062/pyod/master/brand/pyod-icon.svg :target: https://pyod.dev :alt: PyOD Ecosystem :width: 84px
PyOD 3: Agentic Anomaly Detection At Scale
|badge_website| |badge_pypi| |badge_anaconda| |badge_docs| |badge_stars| |badge_forks| |badge_downloads| |badge_testing| |badge_coverage| |badge_maintainability| |badge_license| |badge_benchmark|
.. |badge_website| image:: https://img.shields.io/badge/website-pyod.dev-990000 :target: https://pyod.dev :alt: Website
.. |badge_pypi| image:: https://img.shields.io/pypi/v/pyod.svg?color=brightgreen :target: https://pypi.org/project/pyod/ :alt: PyPI version
.. |badge_anaconda| image:: https://anaconda.org/conda-forge/pyod/badges/version.svg :target: https://anaconda.org/conda-forge/pyod :alt: Anaconda version
.. |badge_docs| image:: https://readthedocs.org/projects/pyod/badge/?version=latest :target: https://pyod.readthedocs.io/en/latest/?badge=latest :alt: Documentation status
.. |badge_stars| image:: https://img.shields.io/github/stars/yzhao062/pyod.svg :target: https://github.com/yzhao062/pyod/stargazers :alt: GitHub stars
.. |badge_forks| image:: https://img.shields.io/github/forks/yzhao062/pyod.svg?color=blue :target: https://github.com/yzhao062/pyod/network :alt: GitHub forks
.. |badge_downloads| image:: https://pepy.tech/badge/pyod :target: https://pepy.tech/project/pyod :alt: Downloads
.. |badge_testing| image:: https://github.com/yzhao062/pyod/actions/workflows/testing.yml/badge.svg :target: https://github.com/yzhao062/pyod/actions/workflows/testing.yml :alt: Testing
.. |badge_coverage| image:: https://coveralls.io/repos/github/yzhao062/pyod/badge.svg :target: https://coveralls.io/github/yzhao062/pyod :alt: Coverage Status
.. |badge_maintainability| image:: https://api.codeclimate.com/v1/badges/bdc3d8d0454274c753c4/maintainability :target: https://codeclimate.com/github/yzhao062/Pyod/maintainability :alt: Maintainability
.. |badge_license| image:: https://img.shields.io/github/license/yzhao062/pyod.svg :target: https://github.com/yzhao062/pyod/blob/master/LICENSE :alt: License
.. |badge_benchmark| image:: https://img.shields.io/badge/ADBench-benchmark_results-pink :target: https://github.com/Minqi824/ADBench :alt: Benchmark
**PyOD はエージェント対応です。** Claude Code と Codex は ``od-expert`` スキルを使用して ADEngine の調査を実行でき、MCP 互換のエージェントは PyOD の検出器知識とプランニングツールを照会できます。従来の ``fit``/``predict`` API は変更されません。
PyOD 3 は、異常検知のための最も包括的な Python ライブラリです。4 つの柱:
=========================== ========================================================================================
柱 意味
=========================== ========================================================================================
マルチモーダル 表形式、時系列、グラフ、テキスト、画像、音声データにわたる 61 の検出器、単一の API
フルライフサイクル 生データから説明された異常、そして次のステップのガイダンスまでを 1 回の呼び出しで
エージェント対応 od-expert が自然言語リクエストを ADEngine ワークフローに変換; MCP は他のエージェント向けに構造化ツールを公開
最も使用されている 4,600 万以上のダウンロード; ベンチマークに基づくルーティング (ADBench、TSB-AD、BOND、NLP-ADBench)
=========================== ========================================================================================
インストール ^^^^^^^^^^^^
コアライブラリ (すべてのアクティベーションパスに必要):
.. code-block:: bash
pip install pyod
次に、エージェントスタックに合ったアクティベーションパスを選択してください:
.. code-block:: bash
# 1. Claude Code / Codex — od-expert スキルを有効化する
pyod install skill # Claude Code: ユーザーグローバル (~/.claude/skills/)
pyod install skill --project # Codex: プロジェクトローカル (./skills/、Codex にはユーザーグローバルディレクトリがない)
# 2. MCP 互換の任意の LLM — オプションの mcp extra が必要
pip install pyod[mcp]
pyod mcp serve # `python -m pyod.mcp_server` のエイリアス
# 3. Pure Python — 追加の手順は不要
# from pyod.utils.ad_engine import ADEngine
pyod info をいつでも実行すると、バージョン、検出器の数、および各アクティベーションパスのインストール状態を確認できます。pyod info は、インストールされているエージェントスタック (Claude Code の場合は ~/.claude/、Codex の場合は ~/.codex/) も検出し、適切なインストールコマンドを推奨します。
conda、ソースからのインストール、依存関係の詳細、トラブルシューティングについては、完全な インストールガイド <https://pyod.readthedocs.io/en/latest/install.html>__ を参照してください。v3.0.0 のレガシーな pyod-install-skill コマンドは、pyod install skill のエイリアスとして引き続き機能します。
5 行のコードによる外れ値検出 (pip install pyod):
.. code-block:: python
from pyod.models.iforest import IForest
clf = IForest()
clf.fit(X_train)
y_train_scores = clf.decision_scores_ # 訓練時の異常スコア
y_test_scores = clf.decision_function(X_test) # テスト時の異常スコア
PyOD を使用する 3 つの方法:
========= ===================== ====================================================================== =======================================
レイヤー 名前 使用する場面 エントリポイント
========= ===================== ====================================================================== =======================================
1 クラシック API 使用する検出器が決まっている場合 レイヤー 1 の例 <https://pyod.readthedocs.io/en/latest/examples/tabular.html>__
2 ADEngine PyOD に自動的に選択、比較、評価させたい場合 レイヤー 2 のウォークスルー <https://pyod.readthedocs.io/en/latest/examples/adengine.html>__
3 エージェント型調査 AI エージェントに自然な会話を通じて OD を実行させたい場合 レイヤー 3 のウォークスルー <https://pyod.readthedocs.io/en/latest/examples/agentic.html>__
========= ===================== ====================================================================== =======================================
レイヤー 2 と 3 は、PyOD のライフサイクルオーケストレーションの中核である ADEngine によって実現されています。完全なマルチターンのレイヤー 3 調査フローは、Claude Code および Codex 向けの od-expert スキルを通じて利用できます。MCP サーバー (python -m pyod.mcp_server) は、MCP 互換の LLM 向けに 10 個のステートレスツールを公開しており、知識クエリ (list_detectors、explain_detector、compare_detectors、get_benchmarks)、プランニング (profile_data、plan_detection、build_detector)、および検出 (run_detection、analyze_results、explain_findings) に及びます。ステートフルな investigate / iterate MCP ツールは延期されています。
.. image:: https://raw.githubusercontent.com/yzhao062/pyod/development/docs/figs/agentic-demo.png :alt: カルジオトコグラフィデータセットにおける PyOD 3 エージェント型調査のデモ :align: center :width: 720
上の図は、UCI Cardiotocography データセットにおける実際の 5 ターンのエージェント型会話を示しています。完全なウォークスルー <https://pyod.readthedocs.io/en/latest/examples/agentic.html>、実行可能な エージェント型の例 <https://github.com/yzhao062/pyod/blob/development/examples/agentic_example.py>、またはインタラクティブな HTML デモ <https://htmlpreview.github.io/?https://github.com/yzhao062/pyod/blob/development/examples/agentic_demo.html>__ を参照してください。
PyOD エコシステムとリソース:
NLP-ADBench <https://github.com/USC-FORTIS/NLP-ADBench>__ (NLP 異常検知) | TODS <https://github.com/datamllab/tods>__ (時系列) | PyGOD <https://pygod.org/>__ (グラフ) | ADBench <https://github.com/Minqi824/ADBench>__ (ベンチマーク) | AD-LLM <https://arxiv.org/abs/2412.11142>__ (LLM ベースの AD) [#Yang2024ad]_ | リソース <https://github.com/yzhao062/anomaly-detection-resources>__
PyOD について ^^^^^^^^^^
2017 年に設立された PyOD は、異常検知のための最も長く運営され、最も広く使用されている Python ライブラリです。4600 万以上のダウンロード <https://pepy.tech/project/pyod>__ を誇り、学術研究 (Analytics Vidhya <https://www.analyticsvidhya.com/blog/2019/02/outlier-detection-python-pyod/>、KDnuggets <https://www.kdnuggets.com/2019/02/outlier-detection-methods-cheat-sheet.html>、Towards Data Science <https://towardsdatascience.com/anomaly-detection-for-dummies-15f148e559c1>__ で紹介) と商用製品の両方に貢献しています。
V3 は、ライブラリを ADEngine (ライフサイクルオーケストレーション) と od-expert スキル (エージェント型ワークフロー) で拡張しつつ、従来の fit/predict API を完全に後方互換に保っています。V3 は、高速な並列トレーニングのための SUOD [#Zhao2021SUOD]_ と、モデルごとの高速化のための numba JIT 上に構築されています。
影響と認知度: