-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpruebaInductiveMiner.py
52 lines (41 loc) · 1.81 KB
/
pruebaInductiveMiner.py
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# data
import pandas as pd
from pm4py.objects.conversion.log import converter as log_converter
from pm4py.objects.log.importer.xes import importer as xes_importer
from pm4py.objects.log.util import dataframe_utils
# process mining
from pm4py.algo.discovery.alpha import algorithm as alpha_miner
from pm4py.algo.discovery.inductive import algorithm as inductive_miner
from pm4py.algo.discovery.heuristics import algorithm as heuristics_miner
from pm4py.algo.discovery.dfg import algorithm as dfg_discovery
# viz
from pm4py.visualization.petrinet import visualizer as pn_visualizer
from pm4py.visualization.process_tree import visualizer as pt_visualizer
from pm4py.visualization.heuristics_net import visualizer as hn_visualizer
from pm4py.visualization.dfg import visualizer as dfg_visualization
# misc
from pm4py.objects.conversion.process_tree import converter as pt_converter
# xes
log = xes_importer.apply('Sepsis Cases - Event LogArtificial.xes')
# csv
##df = pd.read_csv('running-example.csv')
##df = dataframe_utils.convert_timestamp_columns_in_df(df)
##df = df.sort_values('time:timestamp')
##
log = log_converter.apply(log)
# create the process tree
tree = inductive_miner.apply_tree(log)
# viz
gviz = pt_visualizer.apply(tree)
pt_visualizer.view(gviz)
# convert the process tree to a petri net
net, initial_marking, final_marking = pt_converter.apply(tree)
# alternatively, use the inductive_miner to create a petri net from scratch
# net, initial_marking, final_marking = inductive_miner.apply(log)
# viz
parameters = {pn_visualizer.Variants.FREQUENCY.value.Parameters.FORMAT: "png"}
gviz = pn_visualizer.apply(net, initial_marking, final_marking,
parameters=parameters,
variant=pn_visualizer.Variants.FREQUENCY,
log=log)
pn_visualizer.view(gviz)