Known Issues & Warnings¶
This is the central place to track known issues and behavioral notes.
Installation¶
See Installation for dependency notes. Heavier modalities are optional: install pytorch for neural detectors, torch_geometric for graph detectors, and sentence-transformers / openai / transformers for text and image detection via EmbeddingOD.
Differences between PyOD and scikit-learn¶
PyOD is built on top of scikit-learn and inspired by its API design, but some conventions differ:
Score direction. PyOD uses the convention that outlying samples receive higher scores, while normal samples receive lower scores. scikit-learn uses the inverted convention (lower scores mean more anomalous).
Label values. PyOD uses
0for inliers and1for outliers. scikit-learn returns1for inliers and-1for anomalies.Do not mix implementations. Although Isolation Forest, One-Class SVM, and Local Outlier Factor exist in both libraries, mixing PyOD and scikit-learn instances of the same model in a single pipeline is not recommended. Use one library consistently (PyOD’s versions of these three are wrappers around scikit-learn).
check_estimator compatibility. PyOD models may not pass scikit-learn’s
check_estimator, and scikit-learn models may not pass PyOD’scheck_estimator. The two validators enforce different contracts.