DANTIS brings together 50+ anomaly detection algorithms—from classical statistical methods and machine learning to deep learning—under a unified scikit-learn–style API. It consolidates models from diverse libraries and includes proprietary algorithms developed by our team.
pip install dantis # From PyPI (recommended)from dantis.machine_learning import DecisionTreeClassifier
from dantis.deep_learning import ALAD
from sklearn.metrics import accuracy_score
import pandas as pd
# Load your time series data
df = pd.read_csv("anomaly_datasets/anomaly_dataset_1.csv")
X = df.drop(columns=["is_anomaly"])
y = df["is_anomaly"]
# Split data chronologically for time series (no shuffling)
split_idx = int(len(df) * 0.8)
X_train, X_test = X.iloc[:split_idx], X.iloc[split_idx:]
y_train, y_test = y.iloc[:split_idx], y.iloc[split_idx:]
decision_tree_model = DecisionTreeClassifier()
decision_tree_model.fit(X_train, y_train)
y_pred = decision_tree_model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print(f"DecisionTree Accuracy: {acc:.3f}")
alad_model = ALAD()
alad_model.fit(X_train, y_train)
y_pred = alad_model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print(f"ALAD Accuracy: {acc:.3f}")- Wide algorithm coverage – 50+ detectors across deep learning, machine learning, and statistical methods.
- Consistent API – all detectors follow the scikit-learn
fit/predictparadigm and exposedecision_scores_,predict_proba, … - Pipeline & preprocessing layer – compose detectors with built-in scalers, transforms, and windowing utilities.
- Comprehensive evaluation – metrics and visualisation helpers for rapid benchmarking.
- Extensibility – subclass
AlgorithBaseand plug your own model into the ecosystem.
DANTIS includes a full-featured graphical interface to simplify the use of the library for users without programming experience. Inspired by tools like Weka and KNIME, this desktop application enables:
- Training and testing of anomaly detection models
- Preprocessing pipelines and parameter tuning
- Quantitative comparison of models using the StaTDS library
Documentation is currently available on GitHub.
📚 A full documentation site with tutorials and API reference is being developed at https://dantis.readthedocs.io.
DANTIS has been developed within the research activities of the DaSCI Institute (Andalusian Inter-University Institute in Data Science and Computational Intelligence), by members of the research groups KDISLAB (Knowledge Discovery and Intelligent Systems, University of Córdoba) and SCI2S (Soft Computing and Intelligent Information Systems, University of Granada).
This work has been supported by the following projects:
- TED2021-132702B-C22 - Mantenimiento Predictivo basado en Detección de Anomalías: Framework y Mantenimiento de Camiones de Alto Tonelaje (PREMAD-Truck)
We gratefully acknowledge this support.
| Name | Function |
|---|---|
| ALAD | anomaly_lib.deep_learning.alad.ALAD |
| AnoGAN | anomaly_lib.deep_learning.anogan.AnoGAN |
| AutoEncoder | anomaly_lib.deep_learning.auto_encoder.AutoEncoder |
| DeepSVDD | anomaly_lib.deep_learning.deep_svdd.DeepSVDD |
| MO_GAAL | anomaly_lib.deep_learning.mo_gaal.MO_GAAL |
| SO_GAAL | anomaly_lib.deep_learning.so_gaal.SO_GAAL |
| VAE | anomaly_lib.deep_learning.vae.VAE |
| Name | Function |
|---|---|
| DecisionTreeClassifierClassOD | anomaly_lib.machine_learning.decision_tree_classifier.DecisionTreeClassifierClassOD |
| ECOD | anomaly_lib.machine_learning.ecod.ECOD |
| IForest | anomaly_lib.machine_learning.iforest.IForest |
| KNN | anomaly_lib.machine_learning.knn.KNN |
| LOF | anomaly_lib.machine_learning.lof.LOF |
| MLPClassOD | anomaly_lib.machine_learning.mlp_classifier.MLPClassOD |
| MultinomialNBClassOD | anomaly_lib.machine_learning.multinomial_nb.MultinomialNBClassOD |
| GaussianNBClassOD | anomaly_lib.machine_learning.naive_bayes.GaussianNBClassOD |
| OCSVM | anomaly_lib.machine_learning.ocsvm.OCSVM |
| RandomForestClassOD | anomaly_lib.machine_learning.random_forest_classifier.RandomForestClassOD |
| SVMClassOD | anomaly_lib.machine_learning.svm.SVMClassOD |
| Name | Function |
|---|---|
| ABOD | anomaly_lib.statistical.abod.ABOD |
| CBLOF | anomaly_lib.statistical.cblof.CBLOF |
| CD | anomaly_lib.statistical.cd.CD |
| COF | anomaly_lib.statistical.cof.COF |
| LUNAR | anomaly_lib.statistical.lunar.LUNAR |
| COPOD | anomaly_lib.statistical.copod.COPOD |
| FeatureBagging | anomaly_lib.statistical.feature_bagging.FeatureBagging |
| GMM | anomaly_lib.statistical.gmm.GMM |
| HBOS | anomaly_lib.statistical.hbos.HBOS |
| INNE | anomaly_lib.statistical.inne.INNE |
| KDE | anomaly_lib.statistical.kde.KDE |
| KPCA | anomaly_lib.statistical.kpca.KPCA |
| LMDD | anomaly_lib.statistical.lmdd.LMDD |
| LOCI | anomaly_lib.statistical.loci.LOCI |
| LODA | anomaly_lib.statistical.loda.LODA |
| LSCP | anomaly_lib.statistical.lscp.LSCP |
| MAD | anomaly_lib.statistical.mad.MAD |
| MCD | anomaly_lib.statistical.mcd.MCD |
| PCA | anomaly_lib.statistical.pca.PCA |
| QMCD | anomaly_lib.statistical.qmcd.QMCD |
| RGraph | anomaly_lib.statistical.rgraph.RGraph |
| ROD | anomaly_lib.statistical.rod.ROD |
| Sampling | anomaly_lib.statistical.sampling.Sampling |
| SOD | anomaly_lib.statistical.sod.SOD |
| SOS | anomaly_lib.statistical.sos.SOS |
| XGBOD | anomaly_lib.statistical.xgbod.XGBOD |
| MatrixProfile | anomaly_lib.statistical.matrixprofile.MatrixProfile |
| ARIMA | anomaly_lib.statistical.arima.ARIMA |
| SARIMAX | anomaly_lib.statistical.sarimax.SARIMAX |
| VARMAX | anomaly_lib.statistical.varmax.VARMAX |
| HoltWinters | anomaly_lib.statistical.holt_winters.HoltWinters |
| SingleExponentialSmoothing | anomaly_lib.statistical.singleExponentialSmoothing.SingleExponentialSmoothing |
DANTIS is distributed under the MIT License.
See LICENSE for details.
This research was supported in part by the PID2023-148396NB-I00 and TED2021-132702B-C22 projects of Spanish Ministry of Science and Innovation and the European Regional Development Fund, by the ProyExcel-0069 project of the Andalusian University, Research and Innovation Department.
DANTIS provides unified loaders for a wide range of Time Series Anomaly Detection (TSAD) datasets, consolidating resources from major benchmarks like TSB-AD, NAB, and UCR.
| Dataset | Real/Synth | Type | Domain | License | Access |
|---|---|---|---|---|---|
| CalIt2 | Real | MTS | Urban events | Unknown | Direct |
| CAP | Real | MTS | Medical | Unknown | PhysioNet (Auth) |
| CATSv2 | Unknown | UTS | Simulated System | CC BY 4.0 | Direct |
| CICIDS2017 | Real | MTS | Server/Network | Unknown | Direct |
| Credit Card | Real | MTS | Fraud Detection | None | OpenML |
| Daphnet | Real | UTS | Medical | CC BY 4.0 | Direct |
| DMDS | Real | MTS | ICS | Unknown | Direct |
| Dodgers Loop | Real | UTS | Urban Traffic | Unknown | Direct |
| Engine Dataset | Real | MTS | ICS | Unknown | Direct |
| Exathlon | Real | MTS | Server Monitoring | Apache-2.0 | GitHub |
| GECCO IoT | Real | MTS | IoT | CC BY 4.0 | Direct |
| Genesis | Real | MTS | ICS | CC BY-NC-SA 4.0 | Kaggle (Auth) |
| GHL | Synth | MTS | ICS | None | Direct |
| IOPS | Real | UTS | Business | None | GitHub |
| Ionosphere | Real | MTS | Astronomy | Unknown | Direct |
| KDDCUP99 | Real | MTS | Computer Networks | Unknown | Direct |
| Kitsune | Real | MTS | Computer Networks | Unknown | Direct |
| KPI AIOPS | Real | UTS | Business | Unknown | Competition |
| MBD | Real | MTS | Server Monitoring | Unknown | GitHub |
| Metro | Real | MTS | Urban Traffic | Unknown | Direct |
| MGAB | Synth | UTS | Medical | CC0-1.0 | GitHub |
| MIT-BIH Arrhythmia | Real | MTS | Medical/ECG | ODC-By 1.0 | PhysioNet (Auth) |
| MIT-BIH-LTDB | Real | UTS | Medical/ECG | ODC-By 1.0 | PhysioNet (Auth) |
| MIT-BIH-SVDB | Real | MTS | Medical/ECG | ODC-By 1.0 | PhysioNet (Auth) |
| MMS | Real | MTS | Server Monitoring | Unknown | GitHub |
| MSL | Real | MTS | Aerospace | Caltech | GitHub |
| NAB (subsets) | Real/Synth | UTS | Multiple | GPL | GitHub |
| NASA Shuttle | Real | MTS | Aerospace | Unknown | Direct |
| NEK | Unknown | Unknown | Network | None | Verify Source |
| NeurIPS-TS | Synth | UTS | Multiple | Unknown | GitHub |
| NormA | Real/Synth | UTS | Multiple | Unknown | Direct |
| NYC Bike | Real | Both | Urban Transport | Unknown | Direct |
| NYC Taxi | Real | Both | Urban Transport | Unknown | Direct |
| OPPORTUNITY | Real | MTS | Activity Recog. | CC BY 4.0 | Direct |
| Power Demand | Real | UTS | ICS | None | Direct |
| PSM | Real | MTS | Server Metrics | CC BY 4.0 | GitHub |
| PUMP | Real | MTS | ICS | Unknown | Kaggle (Auth) |
| SED | Unknown | Unknown | Industrial | None | Verify Source |
| SMAP | Real | MTS | Environmental | Caltech | GitHub |
| SMD | Real | MTS | Server Monitoring | MIT | GitHub |
| SWAN-SF | Real | MTS | Astronomy | Unknown | Direct |
| SWaT | Real | MTS | ICS/Water | Request | Request Form |
| SensoreScope | Real | UTS | IoT | Unknown | Direct |
| Space Shuttle | Real | UTS | Aerospace | Unknown | Direct |
| Stock | Unknown | Unknown | Finance | None | Verify Source |
| TODS | Synth | Unknown | Multiple | Apache-2.0 | GitHub |
| UCR | Real/Synth | Both | Multiple | None | Direct |
| WADI | Real | MTS | ICS/Water | Unknown | Request Form |
| WSD | Unknown | Unknown | Web Services | None | Verify Source |
| WaterLog | Real | MTS | ICS | Unknown | Direct |
| Yahoo | Real/Synth | UTS | Multiple | Yahoo Terms | Request (Auth) |
Note: MTS = Multivariate Time Series, UTS = Univariate Time Series. Access types marked as "Auth" or "Request" may require creating an account or filling out a form on the provider's website. DANTIS provides helper functions to facilitate the loading of these datasets once acquired.



