Code Monkey home page Code Monkey logo

deepod's Introduction

Python Deep Outlier/Anomaly Detection (DeepOD)

testing testing2 coveralls downloads

DeepOD is an open-source Python framework for deep learning-based anomaly detection on multivariate/time-series data. DeepOD provides a 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 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, and Transformer to handle time series data.
  • Future work: we also want to implement several network structures, so as to process 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}
}

deepod's People

Contributors

xuhongzuo avatar bettyzry avatar sakirinn avatar zhouyilee avatar real-lhj avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.