File size: 1,321 Bytes
8097001
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import pm4py
from pm4py.algo.filtering.dfg import dfg_filtering
from examples import examples_conf
import importlib.util


def execute_script():
    log = pm4py.read_xes("../tests/input_data/receipt.xes")
    dfg, sa, ea = pm4py.discover_dfg(log)
    act_count = pm4py.get_event_attribute_values(log, "concept:name")
    # keep the specified amount of activities
    dfg, sa, ea, act_count = dfg_filtering.filter_dfg_on_activities_percentage(dfg, sa, ea, act_count, 0.3)
    # keep the specified amount of paths
    dfg, sa, ea, act_count = dfg_filtering.filter_dfg_on_paths_percentage(dfg, sa, ea, act_count, 0.3)

    if importlib.util.find_spec("graphviz"):
        # view the DFG
        from pm4py.visualization.dfg import visualizer as dfg_visualizer
        gviz = dfg_visualizer.apply(dfg, activities_count=act_count, parameters={dfg_visualizer.Variants.FREQUENCY.value.Parameters.START_ACTIVITIES: sa,
                                                                                 dfg_visualizer.Variants.FREQUENCY.value.Parameters.END_ACTIVITIES: ea,
                                                                                 dfg_visualizer.Variants.FREQUENCY.value.Parameters.FORMAT: examples_conf.TARGET_IMG_FORMAT})
        dfg_visualizer.view(gviz)


if __name__ == "__main__":
    execute_script()