πŸ“– Guidelines

Install from PyPI (recommended):

pip install tadkit-core

Or install from source:

git clone https://github.com/IRT-SystemX/tadkit-core.git
cd tadkit-core
pip install -r requirements.txt

Requirements:

  • Python β‰₯ 3.8+

  • See requirements.txt for full dependency list

πŸš€ Quickstart

# Prepare your data
from tadkit.catalog.rawtowideformatter import RawToWideFormatter
formatter = RawToWideFormatter(data=my_raw_data, backend="pandas")
X = formatter.format()

# Query the available anomaly detection methods that are compatible with your data (univariate or multivariate, etc.)
from tadkit.base.registry import registry
for learner_cls in registry.match_learners(formatter):
    learner = learner_cls()  # instantiate directly
    # Learner calibration
    learner.fit(X)
    # Anomaly scores
    y_score = learner.score_samples(X)
    # Detect anomalies
    predictions = learner.predict(X)

The modular architecture allows easy swapping of learners and formatters for experimentation with different anomaly detection algorithms.

πŸͺΈβ  Deep Dive πŸͺΌοƒ

TADkit includes a range of introductory and example notebooks that are good entry points to understand the proposed features:

TADkit data ingestion

The Formatter abstract class provides array-agnostic interface for connecting your data to your anomaly detection algorithm.

TADkit offers a functional RawToWideFormatter that ingests your timeseries data, converts it to Wide Format and supports both pandas DataFrame and NumPy array outputs.

Learning with TADkit

The TADLearner interface

TADLearner standardizes anomaly detection methods through a protocol that enforces:

  • .fit(X): for calibrating the model,

  • .score_samples(X): for producing anomaly scores (unbounded),

  • .predict(X): for producing anomaly labels (1 = normal, -1 = abnormal)

Catalog of methods

TADkit provides a catalog of methods following the TADLearner interface, including methods from the Confiance.ai program:

The following methods from the Confiance.ai program were also originally supported, but are no longer accessible:

  • CNNDRAD: two-step deep 1D-CNN for anomaly detection (representation learning + reconstruction score) - Catalog page

  • SBAD: counterfactual-based multivariate anomaly detection and diagnosis - Catalog page

The TADkit catalog also includes base learners such as Kernel density-based anomaly detection, Gaussian mixtures anomaly detection, etc…

πŸ“š Documentation & Resources

Contributors and Support

This work has been supported by the French government under the β€œFrance 2030” program, as part of the SystemX Technological Research Institute within the Confiance.ai project.

TADkit is developed by IRT SystemX and supported by the European Trustworthy AI Association