pp-role-mining

Privacy Aware Role Mining in Process mining


License
GPL-3.0
Install
pip install pp-role-mining==0.0.10

Documentation

Introduction

This project implements the decomposition method proposed in the paper Mining Roles From Event Logs While Preserving Privacy.

Python package

The implementation has been published as a standard Python package. Use the following command to install the corresponding Python package:

pip install pp-role-mining

Usage

from pp_role_mining.privacyPreserving import privacyPreserving

#for fixed_value technique
NoSubstitutions = 2
#for selective technique
MinMax = [True, True] #if you want to perturb both lower and upper bound
#for frequency_based technique
FixedValue = 0 #to combine the fixed_value techniue with the frequency_based technique (FixedValue=0 is only frequency_based without any fixed value added to the number of substitutions)

show_final_result = False

event_log = "running_example.xes"
# event_log = "pp_running_example.xes"
technique = 'fixed_value'  # fixed_value, selective, frequency_based
resource_aware = True #true if we want to consider resources while allocating activity substitutions. Otherwise it is False
hashedActivities = True #if you want to produce hash of activities
exportPrivacyAwareLog = True #if you want to export the log with the perturbed activities
privacy_aware_log_path = "pp_" + event_log
#
pp = privacyPreserving(event_log)
pp.apply_privacyPreserving(technique, resource_aware, exportPrivacyAwareLog, show_final_result, hashedActivities, NoSubstitutions=NoSubstitutions, MinMax=MinMax,
                           FixedValue=FixedValue, privacy_aware_log_path=privacy_aware_log_path, event_attribute2remove=["Activity", "Resource", "Costs"], case_attribute2remove=["creator"])