Skip to main content

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:

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

prolothar-queue-mining-3.0.0.tar.gz (50.0 MB view details)

Uploaded Source

Built Distribution

prolothar_queue_mining-3.0.0-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11 Windows x86-64

File details

Details for the file prolothar-queue-mining-3.0.0.tar.gz.

File metadata

File hashes

Hashes for prolothar-queue-mining-3.0.0.tar.gz
Algorithm Hash digest
SHA256 877dbbc2b50cf56eb3382d985c07c12b2b7bed51e152c5b3b5ade046d62d5c48
MD5 5d96fb7b9e9699d916e531ff08f8fdda
BLAKE2b-256 10dc541a739799080ccb3d102d9121bebb9944cd9f856c5acb7325e4976c0580

See more details on using hashes here.

File details

Details for the file prolothar_queue_mining-3.0.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for prolothar_queue_mining-3.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e9d2ffca760da6cecdf2428c1a215f7e6c84e30cad80d7a77c9f9e6bfcf1c17d
MD5 a7d3856cfc04bb275c021ee1c5bfa9fc
BLAKE2b-256 5eab9f1d51139ac79fee20e4d018711c58c6dbcfb4f7565472c019168a247a25

See more details on using hashes here.

Supported by

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