It is recommended to use pip or conda for installation. Please make sure the latest version is installed, as PyOD is updated frequently:

pip install pyod            # normal install
pip install --upgrade pyod  # or update if needed
conda install -c conda-forge pyod

Alternatively, you could clone and run file:

git clone
cd pyod
pip install .

Required Dependencies:

  • Python 3.6+

  • combo>=0.1.3

  • joblib

  • numpy>=1.19

  • numba>=0.51

  • scipy>=1.5.1

  • scikit_learn>=0.20.0

  • six

  • statsmodels

Optional Dependencies (see details below):

  • combo (optional, required for models/ and FeatureBagging)

  • keras/tensorflow (optional, required for AutoEncoder, and other deep learning models)

  • matplotlib (optional, required for running examples)

  • pandas (optional, required for running benchmark)

  • suod (optional, required for running SUOD model)

  • xgboost (optional, required for XGBOD)


PyOD has multiple neural network based models, e.g., AutoEncoders, which are implemented in both PyTorch and Tensorflow. However, PyOD does NOT install DL libraries for you. This reduces the risk of interfering with your local copies. If you want to use neural-net based models, please make sure Keras and a backend library, e.g., TensorFlow, are installed. Instructions are provided: neural-net FAQ. Similarly, models depending on xgboost, e.g., XGBOD, would NOT enforce xgboost installation by default.


PyOD contains multiple models that also exist in scikit-learn. However, these two libraries’ API is not exactly the same–it is recommended to use only one of them for consistency but not mix the results. Refer scikit-learn and PyOD for more information.