This repo is the official implementation for the paper Alignment-based Conformance Checking Over Probabilistic Events. For further information related to PM4Py, please refer to https://pm4py.fit.fraunhofer.de/documentation.
- Python >= 3.7
- Pm4py ==2.2.0
The example.py
file shows a first starting example.
We provide two simple process model with 3 activities in pnml
file format, one of which is a branching process model:
another is a linear process model:
The probabilistic matrix of uncertain events in provided in events.csv
file, where you can change the probabilities of events and play around results.
You can also start playing the algorithm with the following code:
import sys
sys.path.append("./utils")
import pandas as pd
from pm4py.objects.petri.importer import importer as pnml_importer
net1, im1, fm1 = pnml_importer.apply("./linear mdoel.pnml") # Process model
df = pd.read_csv("./events.csv") # Probabilistic matrix of categorical distribution
df = df.fillna(0)
model_dic = {}
model_dic["net"] = net1
model_dic["im"] = im1
model_dic["fm"] = fm1
import probabilistic_alignments # import probabilistic alignment algorithm
# Input probabilistic matrix of events, process model, and threshold epsilon for alignment
result = probabilistic_alignments.apply(df, model_dic, 0.4)
print(result)