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
matplotlib
numpy
pandas
scipy
scikit-learn
tensorflow>=2
tensorflow_probability>=0.8
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 VAE | ✔ | ✔ | ✘ | ✘ | ✘ | ✘ | ✘ |
- Adversarial Variational Auto-Encoder (paper coming soon)
- Documentation
- Examples: MNIST
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.
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.0.tar.gz
.
File metadata
- Download URL: alibi-detect-0.3.0.tar.gz
- Upload date:
- Size: 43.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b7578621cacc74b9396c017aeef9a6d233c85b36971b7bbbda60829bea504db |
|
MD5 | e2a13f0bb19450b9d2e9c7a040499387 |
|
BLAKE2b-256 | b7970b8d3842c24d2df7851b40e328beb1154633b1d8475621ab9e617de88c8c |
File details
Details for the file alibi_detect-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: alibi_detect-0.3.0-py3-none-any.whl
- Upload date:
- Size: 63.7 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/41.0.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06aa32022612ae55951f64a1b802c8bf35ebf35740e825cbe176b009bcc9743e |
|
MD5 | 4a7e2faa8505d8435a8bbced1bcc4771 |
|
BLAKE2b-256 | 25caadb998993d361857eedddb91980a4874978b1eb1a14c8f8a1df4eeae054f |