algorithms for queue mining from event logs
Project description
Prolothar Queue Mining
Algorithms for queue mining (discrete event simulations) from event logs
Based on the publication
Boris Wiegand, Dietrich Klakow, and Jilles Vreeken. Why Are We Waiting? Discovering Interpretable Models for Predicting Sojourn and Waiting Times. In: Proceedings of the SIAM International Conference on Data Mining (SDM), Minneapolis, MN. 2023, pp. 352–360.
Prerequisites
Python 3.11+
Usage
If you want to run the algorithms on your own data, follow the steps below.
Installing
pip install prolothar-queue-mining
Creating a dataset
from prolothar_queue_mining.model.job import Job
from prolothar_queue_mining.inference.queue import CueMin
# our input data are jobs with an ID and their corresponding arrival resp. departure time
observed_arrivals = [
(Job('A'), 3),
(Job('B'), 4),
(Job('C'), 5),
(Job('D'), 6),
(Job('E'), 7),
(Job('F'), 8),
]
observed_departues = [
(Job('A'), 4),
(Job('B'), 7),
(Job('C'), 11),
(Job('D'), 12),
(Job('E'), 13),
(Job('F'), 14),
]
#you can add additional features to a job, example:
Job('4711', {'color': 'blue', size: 12})
cuemin = CueMin(verbose=True)
#if your jobs have features, which can have an influence on the service order or service time:
cuemin = CueMin(verbose=True, categorical_attribute_names = ['color'], numerical_attribute_names = ['size'])
#find and a print a waiting queue model
queue = cuemin.infer_queue(observed_arrivals, observed_departues)
print(queue)
Development
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Additional Prerequisites
- make (optional)
Compile Cython code
make cython
Running the tests
make test
Deployment
make clean_package || make package && make publish
You should also create a tag for the current version
git tag -a [version] -m "describe what has changed"
git push --tags
Versioning
We use SemVer for versioning.
Authors
If you have any questions, feel free to ask one of our authors:
- Boris Wiegand - boris.wiegand@stahl-holding-saar.de
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file prolothar-queue-mining-3.0.0.tar.gz
.
File metadata
- Download URL: prolothar-queue-mining-3.0.0.tar.gz
- Upload date:
- Size: 50.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 877dbbc2b50cf56eb3382d985c07c12b2b7bed51e152c5b3b5ade046d62d5c48 |
|
MD5 | 5d96fb7b9e9699d916e531ff08f8fdda |
|
BLAKE2b-256 | 10dc541a739799080ccb3d102d9121bebb9944cd9f856c5acb7325e4976c0580 |
File details
Details for the file prolothar_queue_mining-3.0.0-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: prolothar_queue_mining-3.0.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9d2ffca760da6cecdf2428c1a215f7e6c84e30cad80d7a77c9f9e6bfcf1c17d |
|
MD5 | a7d3856cfc04bb275c021ee1c5bfa9fc |
|
BLAKE2b-256 | 5eab9f1d51139ac79fee20e4d018711c58c6dbcfb4f7565472c019168a247a25 |