Skip to main content

No project description provided

Project description

testing testing2 coveralls downloads

DeepOD is an open-source python framework for deep learning-based anomaly detection on multivariate/time-series data. DeepOD provides unified implementation of different detection models based on PyTorch.

DeepOD includes 13 deep outlier detection / anomaly detection algorithms (in unsupervised/weakly-supervised paradigm) for now. More baseline algorithms will be included later.

🔭 We are working on a new feature – by simply setting a few parameters, different deep anomaly detection models can not only handle different data types.

  • We have finished some attempts on partial models like Deep SVDD, DevNet, Deep SAD, PReNet and DIF. These models can use temporal networks like LSTM, GRU, TCN, Conv, Transformer to handle time series data.

  • Future work: we also want to implement several network structure, so as to processing more data types like graphs and images by simply plugging in corresponding network architecture.

Installation

The DeepOD framework can be installed via:

pip install deepod

install a developing version (strongly recommend)

git clone https://github.com/xuhongzuo/DeepOD.git
cd DeepOD
pip install .

Supported Models

Detection models:

Model

Venue

Year

Type

Title

Deep SVDD

ICML

2018

unsupervised

Deep One-Class Classification

REPEN

KDD

2018

unsupervised

Learning Representations of Ultrahigh-dimensional Data for Random Distance-based Outlier Detection

RDP

IJCAI

2020

unsupervised

Unsupervised Representation Learning by Predicting Random Distances

RCA

IJCAI

2021

unsupervised

RCA: A Deep Collaborative Autoencoder Approach for Anomaly Detection

GOAD

ICLR

2020

unsupervised

Classification-Based Anomaly Detection for General Data

NeuTraL

ICML

2021

unsupervised

Neural Transformation Learning for Deep Anomaly Detection Beyond Images

ICL

ICLR

2022

unsupervised

Anomaly Detection for Tabular Data with Internal Contrastive Learning

DIF

TKDE

2023

unsupervised

Deep Isolation Forest for Anomaly Detection

SLAD

ICML

2023

unsupervised

Fascinating Supervisory Signals and Where to Find Them: Deep Anomaly Detection with Scale Learning

DevNet

KDD

2019

weakly-supervised

Deep Anomaly Detection with Deviation Networks

PReNet

KDD

2023

weakly-supervised

Deep Weakly-supervised Anomaly Detection

Deep SAD

ICLR

2020

weakly-supervised

Deep Semi-Supervised Anomaly Detection

FeaWAD

TNNLS

2021

weakly-supervised

Feature Encoding with AutoEncoders for Weakly-supervised Anomaly Detection

Usages

DeepOD can be used in a few lines of code. This API style is the same with sklearn and PyOD.

# unsupervised methods
from deepod.models.dsvdd import DeepSVDD
clf = DeepSVDD()
clf.fit(X_train, y=None)
scores = clf.decision_function(X_test)

# weakly-supervised methods
from deepod.models.devnet import DevNet
clf = DevNet()
clf.fit(X_train, y=semi_y) # semi_y uses 1 for known anomalies, and 0 for unlabeled data
scores = clf.decision_function(X_test)

Citation

If you use this library in your work, please use the BibTex entry below for citation.

@misc{deepod,
   author = {{Xu, Hongzuo}},
   title = {{DeepOD: Python Deep Outlier/Anomaly Detection}},
   url = {https://github.com/xuhongzuo/DeepOD},
   version = {0.2},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deepod-0.3.0.tar.gz (63.6 kB view hashes)

Uploaded Source

Built Distribution

deepod-0.3.0-py2.py3-none-any.whl (105.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page