Skip to main content

Python tool to analyse process drifts

Project description

driftbench

Benchmarking framework for generating high-dimensional synthetic drifted data and evaluating models.

The corresponding open-access paper, Edgar Wolf and Tobias Windisch (2025), A method to benchmark high-dimensional process drift detection, describes the method in detail.

To run the benchmarks, execute:

python run_benchmarks.py

To visualize the model performance, run

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

def plot_benchmark(df):

    fig, axes = plt.subplots(ncols=3, figsize=(15, 5))
    sns.boxplot(data=df, x="TAUC", y="Detector", hue='Data',  native_scale=True, ax=axes[0])
    sns.boxplot(data=df, x="SoftTAUC", y="Detector", hue='Data', native_scale=True, ax=axes[1])
    sns.boxplot(data=df, x="AUC", y="Detector", hue='Data', native_scale=True, ax=axes[2])
    
    for ax in axes[1:]:
        ax.legend([])
        ax.set_yticklabels([])
    
    axes[0].set_xlabel('TAUC')
    axes[1].set_xlabel('sTAUC')
    axes[2].set_xlabel('AUC')
    for ax in axes:
        ax.grid()
        ax.set_ylabel('')
    fig.tight_layout()
    
    return fig

df = pd.read_json('benchmarks.json') 
fig = plot_benchmark(df)

Citation

Please cite driftbench if you use this framework in your publications:

@article{wolf_method_2025,
	title = {A method to benchmark high-dimensional process drift detection},
	issn = {1572-8145},
	url = {https://doi.org/10.1007/s10845-025-02590-9},
	doi = {10.1007/s10845-025-02590-9},
	journal = {Journal of Intelligent Manufacturing},
	author = {Wolf, Edgar and Windisch, Tobias},
	year = {2025},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

driftbench-0.0.10.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

driftbench-0.0.10-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file driftbench-0.0.10.tar.gz.

File metadata

  • Download URL: driftbench-0.0.10.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for driftbench-0.0.10.tar.gz
Algorithm Hash digest
SHA256 912ccc04c3418d5e4509c102ce42422baf3aebd979960b9b6a317daaaa553e6c
MD5 8809bfe62590e292f446cd2631956ebd
BLAKE2b-256 a06a8f8bfe86b017ad3b25067f9dd6d2cb4903726c49266dde6d5bf0e7c7b6e2

See more details on using hashes here.

File details

Details for the file driftbench-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: driftbench-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for driftbench-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 87ef3c2849febaa14acea763565f0f1cddd2af27d5f50354477b3fb1afc677a2
MD5 4ccec790f7acd743e9ab9e25d65b2ce0
BLAKE2b-256 6b4ad9e9c1507ca72ca5ed439c9977b0a8351d447fa584f8d0be61167a2f9181

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page