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.9.tar.gz (19.9 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.9-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: driftbench-0.0.9.tar.gz
  • Upload date:
  • Size: 19.9 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.9.tar.gz
Algorithm Hash digest
SHA256 2fa19964a55d14dc002296e5914ac7fbba225b5f551025c11475de2ef21947a8
MD5 71e8ee3006d36464ece305d6a034ba29
BLAKE2b-256 6838302417f839b09f3f7c1f45c1b8f599b53a7ed8d9e1077d39d3168fe00c81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: driftbench-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 22.7 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 7a99975c2da15a68701d39d246c55252967e904b4b84ac2c428beac0068586fd
MD5 aec9166f05633b7a1f8df5a0d2ede192
BLAKE2b-256 7ab1160af0246f3834d2cfcd75f12dfb3894fe916d33a612344325afc95899ba

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