This project is an extension to work done by irhete/predictive-monitoring-thesis as a master thesis at the University of Tartu, Estonia. In this thesis, we introduced three different methods to improve the currently existing techniques of outcome-oriented predictive process monitoring.
This repository and our contributions are organized as follows:
- Contribution 1: Adding CatBoost method to outcome-oriented PPM techniques.
- Contribution 2: Adding a new complex sequence encoding technique on the basis of discrete wavelet transform and neural networks.
- Contribution 3: Adding Inter-case features to the experiments.
You need to download below datasets and modify the path in dataset_confs.py script.
-
To run this project, you need to install packages from
requirements.txtfile, and to do so run the below command:conda create --name env_name --file requirements.txt --yes -
Above command will create a virtual environment, so you need to activate it afterwards using below command:
conda activate env_name -
To reproduce results for each contribution you need to go inside the corresponding folder, and then run the following commands:
-
Hyperparameter optimization:
python experiments_optimize_params.py <data set> <bucketing_encoding> <classifier> <nr_iterations> -
Training and evaluating final models:
python experiments.py <data set> <bucketing_encoding> <classifier> -
Execution times of final models:
python experiments_performance.py <data set> <bucketing_encoding> <classifier> <nr_iterations>
-
-
For Example_CatBoost:cd ./CatBoost/ python experiments_optimize_params.py production single_laststate catboost 1 python experiments.py production single_laststate catboost python experiments_performance.py production single_laststate catboost 1 -
For Example_Wavelet:cd ./Wavelet/ python experiments_optimize_params.py production single_waveletLast catboost 1 python experiments.py production single_waveletLast catboost python experiments_performance.py production single_waveletLast catboost 1 -
For Example_Inter-case features:cd ./Inter-case_features/ python experiments_optimize_params.py production single_laststate catboost 1 python experiments.py production single_laststate catboost python experiments_performance.py production single_laststate catboost 1