This repository contains the source code of a new prescriptive process monitoring system that provides process analysts with recommendations for achieving a positive outcome of an ongoing process. The recommendations are temporal relations between the activities being executed in the process. The system description under review, a preprint can be found here.
media/input
contains the input logs in.csv
format. Before reproducing the experiments it is necessary to download and unzip the log folder from here;media/output
contains the numeric results regarding the performance of the prescriptive system;src
contains the backbone code;settings.py
contains the main settings for the experiments as described in the paper below;dataset_figures.py
is a Python script to extract the dataset figures and save them in a.csv
file in themedia/output
folder;run_experiments.py
is the main Python script for running the experiments;gather_results.py
is a Python script for aggregating the results of each dataset and presenting in a more understandable format.
The following Python packages are required:
- numpy tested with version 1.19.2;
- PM4PY tested with version 2.2.21;
- sklearn tested with version 0.24.1;
- pandas tested with version 1.1.5.
The system has been tested with Python 3.6.9. After installing the requirements, please download this repository.
Type:
$ python run_experiments.py.py -j num_jobs
where num_jobs
is an integer indicating the number of jobs to execute in parallel. Setting num_jobs
to -1 will use
all the processors.
After running the experiments, type:
$ python gather_results.py
to have an aggregation of the results for each dataset. Such aggregation are found in the files in the media/output
folder.
If you use our prescriptive process in your research, please use the following BibTeX entry
SOON