Algorithms for outlier detection, concept drift and metrics.
Project description
alibi-detect is an open source Python library focused on outlier, adversarial and concept drift detection. The package aims to cover both online and offline detectors for tabular data, images and time series. The outlier detection methods should allow the user to identify global, contextual and collective outliers.
Installation
alibi-detect can be installed from PyPI:
pip install alibi-detect
This will install alibi-detect
with all its dependencies:
creme
fbprophet
holidays==0.9.11
matplotlib
numpy
pandas
scipy
scikit-learn
tensorflow>=2
tensorflow_probability>=0.8
The save and load functionality for the Prophet time series outlier detector is currently experiencing issues in Python 3.6 but works in Python 3.7.
Supported algorithms
Outlier Detection
The following table shows the advised use cases for each algorithm. The column Feature Level indicates whether the outlier scoring and detection can be done and returned at the feature level, e.g. per pixel for an image:
Detector | Tabular | Image | Time Series | Text | Categorical Features | Online | Feature Level |
---|---|---|---|---|---|---|---|
Isolation Forest | ✔ | ✘ | ✘ | ✘ | ✔ | ✘ | ✘ |
Mahalanobis Distance | ✔ | ✘ | ✘ | ✘ | ✔ | ✔ | ✘ |
AE | ✔ | ✔ | ✘ | ✘ | ✘ | ✘ | ✔ |
VAE | ✔ | ✔ | ✘ | ✘ | ✘ | ✘ | ✔ |
AEGMM | ✔ | ✔ | ✘ | ✘ | ✘ | ✘ | ✘ |
VAEGMM | ✔ | ✔ | ✘ | ✘ | ✘ | ✘ | ✘ |
Prophet | ✘ | ✘ | ✔ | ✘ | ✘ | ✘ | ✘ |
Spectral Residual | ✘ | ✘ | ✔ | ✘ | ✘ | ✔ | ✔ |
Seq2Seq | ✘ | ✘ | ✔ | ✘ | ✘ | ✘ | ✔ |
-
Isolation Forest (FT Liu et al., 2008)
- Documentation
- Examples: Network Intrusion
-
Mahalanobis Distance (Mahalanobis, 1936)
- Documentation
- Examples: Network Intrusion
-
Auto-Encoder (AE)
- Documentation
- Examples: CIFAR10
-
Variational Auto-Encoder (VAE) (Kingma et al., 2013)
- Documentation
- Examples: Network Intrusion, CIFAR10
-
Auto-Encoding Gaussian Mixture Model (AEGMM) (Zong et al., 2018)
- Documentation
- Examples: Network Intrusion
-
Variational Auto-Encoding Gaussian Mixture Model (VAEGMM)
- Documentation
- Examples: Network Intrusion
-
Prophet Time Series Outlier Detector (Taylor et al., 2018)
- Documentation
- Examples: Weather Forecast
-
Spectral Residual Time Series Outlier Detector (Ren et al., 2019)
- Documentation
- Examples: Synthetic Dataset
-
Sequence-to-Sequence (Seq2Seq) Outlier Detector (Sutskever et al., 2014; Park et al., 2017)
- Documentation
- Examples: ECG, Synthetic Dataset
Adversarial Detection
Advised use cases:
Detector | Tabular | Image | Time Series | Text | Categorical Features | Online | Feature Level |
---|---|---|---|---|---|---|---|
Adversarial AE | ✔ | ✔ | ✘ | ✘ | ✘ | ✘ | ✘ |
- Adversarial Auto-Encoder (Vacanti and Van Looveren, 2020)
- Documentation
- Examples: CIFAR10
Integrations
The integrations folder contains various wrapper tools to allow the alibi-detect algorithms to be used in production machine learning systems with examples on how to deploy outlier and adversarial detectors with KFServing.
Citations
If you use alibi-detect in your research, please consider citing it.
BibTeX entry:
@software{alibi-detect,
title = {{Alibi-Detect}: Algorithms for outlier and adversarial instance detection, concept drift and metrics.},
author = {Van Looveren, Arnaud and Vacanti, Giovanni and Klaise, Janis and Coca, Alexandru},
url = {https://github.com/SeldonIO/alibi-detect},
version = {0.3.1},
date = {2020-02-26},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file alibi-detect-0.3.1.tar.gz
.
File metadata
- Download URL: alibi-detect-0.3.1.tar.gz
- Upload date:
- Size: 50.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2d2ad3d4257910df96c8725fa6c9415cb9cc53fbc3fe09236ace1cd291223a9 |
|
MD5 | f897eb8c35154638a4da801c8a731091 |
|
BLAKE2b-256 | e5ef5ad896bf220ab16dfce2ead03e87009eb45775245a3eb035c46c68e99325 |
File details
Details for the file alibi_detect-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: alibi_detect-0.3.1-py3-none-any.whl
- Upload date:
- Size: 71.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 034846ce95e589e7c3f63c3702698bee702f3db2fac05c307431d83c005db2bd |
|
MD5 | d28914eedb780e8820d25a5127843ff7 |
|
BLAKE2b-256 | 1711455fdf881b0124919a9d87c50fd8010f7b5e02cbbcccf2669a2ab571c585 |