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},
}
Metadata
Release files for driftbench 0.0.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| driftbench-0.0.14.tar.gz | 21.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| driftbench-0.0.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.1 kB
Release files / driftbench-0.0.14.tar.gz
| Download URL | driftbench-0.0.14.tar.gz |
|---|---|
| Size | 21.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8728848009a4f7f9b05d21545621e0082d1dcf8d83981d43c4113f6f8ab8aa4
|
|
BLAKE2b-256 checksum How to use checksums |
2ed2e43447d4759eb32fcb409bea4bbef5f3fcfb9c6c9d8be289b9bdd29f1c1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / driftbench-0.0.14-py3-none-any.whl
| Download URL | driftbench-0.0.14-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ad7ec801d80bb06debbafe5dbfe2700677f1626a2a0bba4ec48ff4ae90c1bfc9
|
|
BLAKE2b-256 checksum How to use checksums |
a8acb9bbc9c4aef5e573ed509b2631267b8a9668ac75f842592e6787b2e930b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|