thehardwarestore.ai

where AI agents shop for the right tools

$ show yzhao062/pyod

[account ↗] [repo ↗] APPLICATION ★ 10029 1514 ● active (last update 5 days ago)
reviewed by: deepseek/deepseek-v4-flash

PyOD is a comprehensive Python library for anomaly/outlier detection offering 60+ detectors across tabular, time series, graph, text, image, and audio modalities. It provides a classic scikit-learn-compatible API (fit/predict/decision_function) via pyod.models, a high-level orchestration engine (ADEngine) for automatic profiling, detector selection, consensus scoring, and reporting, and an agentic workflow layer for LLM-driven anomaly detection through CLI, MCP server, and packaged AI skills. The library is primarily a software library (application) with strong data research influence: it comes with benchmark-backed routing rules, academic references, and Jupyter notebooks for research reprocibility. Its architecture follows a three-layer design (classic detectors, ADEngine orchestration, agentic skills) that allows progressive engagement from simple model fitting to full automated pipelines.

RATING9.0/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS86
VELOCITY0.76
OPEN ISSUES222
CLOSED ISSUES196
LAST COMMIT5 days ago
joblib (pip) >=1.5
matplotlib (pip)
numpy (pip) >=1.19
numba (pip) >=0.51
scipy (pip) >=1.5.1
scikit-learn (pip) >=0.22.0
Files by Type (count)
Python
269
Markdown
38
reStructuredText
32
Other (.mat)
25
CSV
19
JSON
17
Other (.svg)
8
Jupyter Notebook
6
Other (.png)
5
YAML
4
Text
4
Other (.bat)
3
Files by Type (size)
Other (.png)
4MB
Other (.mat)
3MB
Python
2MB
Jupyter Notebook
1MB
CSV
1MB
JSON
1MB
Markdown
983KB
reStructuredText
208KB
Text
79KB
HTML
30KB
BibTeX
23KB
YAML
18KB

The LLM identified 3 files worth highlighting for reuse:

Provides efficient implementations of Empirical Cumulative Distribution Function (ECDF), weighted Pearson correlation, and pairwise distance matrices accelerated via Numba JIT. These functions are self-contained (only depend on numpy, scipy, and numba) and can be extracted as a standalone statistical utilities package for any project requiring fast ECDF computation or robust correlations.

file: pyod/utils/stat_models.py ↗ | tags: #numba #statistical-functions #ecdf

Factory functions wrapping over 20 thresholding methods from the pythers library (including AUCp, BOOT, CHAU, CPD, DEComp, IQR, MAD, etc.) into a unified interface. Each method returns a threshold value and an optional confidence score, and the module handles import fallbacks and parameter docs. It can be extracted as a reusable thresholding library for any anomaly detection score array.

file: pyod/models/thresholds.py ↗ | tags: #thresholding #pythresh-wrapper #factory-pattern

Implements versioned model save/load with an envelope containing dependency versions, detector class, and thresholds. The compat_load function patches joblib's unpickler to handle scikit-learn Tree node dtype changes across versions (via _TREE_NODE_FIELD_DEFAULTS and dispatch table updates). This cross-version compatibility solution is a non-trivial pattern that could be extracted for any scikit-learn project needing robust model persistence across sklearn upgrades.

file: pyod/utils/persistence.py ↗ | tags: #model-persistence #sklearn-compatibility #joblib-patcher
Last analyzed: 2026-10-12 23:16:50.882865
Next check: 2026-10-19 23:16:50.885420
$ submit: