Skip to content

ari-dasci/S-RADAR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robust Anomaly Detection And Recognition (RADAR)

📌 Description

Robust Anomaly Detection And Recognition (RADAR) is an anomaly detection platform designed to unify and integrate diverse approaches and libraries from the literature, along with innovative model variants. The goal is to provide a flexible and extensible framework that ranges from classical methods to advanced techniques based on Transformer architectures, also including support for Federated Learning in distributed scenarios. For more details, refer to the official documentation here.

Specifically, it includes:

  • Classical methods for static data: integration with PyOD and Scikit-learn.
  • Time series and deep learning models: integration with libraries such as TSFE-DL.
  • Representative Transformer models: Informer, Autoformer, and Vanilla Transformer (implemented within the time_series/ folder).
  • Federated anomaly detection: integration with flex-anomalies, developed as part of the Flexible platform.

📚 Integrated Libraries

Library / Model Brief Description Citation
PyOD Collection of classical algorithms for anomaly detection on static data. PyOD
Scikit-learn Traditional machine learning methods applied to anomaly detection. Scikit-learn
TSFE-DL Framework for anomaly detection in time series using deep learning. TSFE-DL
Informer Transformer-based model optimized for long time series forecasting and anomaly detection. Informer
Autoformer Transformer specialized in time series forecasting and pattern detection. Autoformer
Vanilla Transformer Base Transformer implementation applied to anomaly detection. Attention Is All You Need
flex-anomalies Library for anomaly detection in Federated Learning environments, part of the Flexible platform. flex-anomalies

📂 Repository Structure

RADAR/
│── notebooks_test/              # Test notebooks and examples
│
│── RADAR/                        # Core library
│   ├── federated_data/          # Methods and utilities for Federated Learning
│   ├── static_data/             # Anomaly detection on static data
│   ├── time_series/             # Methods for time series and deep learning
│   ├── base_algorithm_module.py # Base class for anomaly detection algorithms
│   ├── base_preprocessing_module.py # Data preprocessing utilities
│   ├── base_utils_module.py     # General helper functions
│   ├── metrics_module.py        # Evaluation metrics for anomaly detection
│   ├── pos_process_module.py    # Post-processing of results
│   └── visualization_module.py  # Visualization tools

🧪 Examples and Utilities

The library provides a set of practical examples and utilities to make experimentation easier:

  • Test Notebooks: The notebooks_test/ folder contains a notebook for each library integration, showing how to use the algorithms with different types of data.
  • Preprocessing Scripts: Each time_series/ and static_data/ folder includes a preprocessing/ folder with techniques tailored to the specific data type:
    • preprocessing/preprocessing_static.py for static data
    • preprocessing/preprocessing_ts.py for time series data
  • Dataset Loaders: The same folders provide a datasets_uci.py file with functions to load datasets from the UCI repository, making it easy to test and experiment with the library:
    • static_datasets_uci.py for static data
    • time_series_datasets_uci.py for time series data
  • Metrics: metrics_module.py provides evaluation metrics for anomaly detection.
  • Visualization: visualization_module.py includes functions to plot results and anomalies.
  • Post-processing: pos_process_module.py computes anomaly labels from predictions.

Note that federated_data/ does not contain its own preprocessing or dataset loader scripts, since it can work with either static or time series data. The example notebooks cover usage for both types.

This setup allows users to explore the library’s functionality, apply the appropriate preprocessing, and test algorithms on real datasets efficiently.

Installation

Clone the repository:

git clone https://github.com/ari-dasci/RADAR.git

Install the necessary dependencies:

pip install -r requirements.txt 

License

This project is licensed under the MIT License - see the LICENSE file for details.

Citation

If you use this repository in your research work, please cite the paper:

About

Software Anomaly Detection Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •