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/inputcontains the input logs in.csvformat. Before reproducing the experiments it is necessary to download and unzip the log folder from here;media/outputcontains the numeric results regarding the performance of the prescriptive system;srccontains the backbone code;settings.pycontains the main settings for the experiments as described in the paper below;dataset_figures.pyis a Python script to extract the dataset figures and save them in a.csvfile in themedia/outputfolder;run_experiments.pyis the main Python script for running the experiments;gather_results.pyis 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