Exemple #1
0
    - Filtering: -
    - Used Columns: -
"""


from eval.evaluation import run_experiment
from grm import preprocessing
from pm4py.algo.filtering.log.attributes import attributes_filter


log_file = "bpi2017.csv"
name_of_case_id = "Case ID"
name_of_activity = "Activity"
name_of_timestamp = "Complete Timestamp"
name_of_label = "Accepted"
hyper_params = {'num_epochs': 1000}
k = 10

log = preprocessing.import_data("../data", log_file, separator=";", quote='', case_id=name_of_case_id,
                                activity=name_of_activity,
                                time_stamp=name_of_timestamp, target=name_of_label)

activities = attributes_filter.get_attribute_values(log, "concept:name")

# filter out activities representing work items
w_activities = [i for i in activities.keys() if i.startswith('W_')]
log_filtered = attributes_filter.apply_events(log, w_activities, parameters={
    attributes_filter.PARAMETER_CONSTANT_ATTRIBUTE_KEY: "concept:name", "positive": True})

run_experiment(log, hyper_params=hyper_params, k=k, ml_flow_run_name_prefix=log_file)
Exemple #2
0
from grm import preprocessing
import eval.baselines.evaluation as evaluation
import os

predictor = "XG"
log_file = "clickstream_anon.csv"
name_of_case_id = "CASE_KEY"
name_of_activity = "ACTIVITY"
name_of_timestamp = "EVENTTIMESTAMP"
name_of_label = "EXCEPTION"

log = preprocessing.import_data(os.path.normpath("../../../data"),
                                log_file,
                                separator=",",
                                quote='"',
                                case_id=name_of_case_id,
                                activity=name_of_activity,
                                time_stamp=name_of_timestamp,
                                target=name_of_label)

evaluation.run_cross_validation(log,
                                predictor,
                                name_of_activity,
                                k=10,
                                ml_flow_run_name_prefix=log_file)
Exemple #3
0
from grm import GRM, preprocessing
from pm4py.objects.log.util import sampling

# import data
data_raw = preprocessing.import_data("data",
                                     "BPI2020_PermitLog.csv",
                                     separator=";",
                                     quote='',
                                     case_id="Case ID",
                                     activity="Activity",
                                     time_stamp="Complete Timestamp",
                                     target="(case) Overspent")

# Create new GRM model object
hyper_params = {'num_epochs': 1}
grm_model = GRM.GRM(data_raw, params=hyper_params)

# Train GGNN model
grm_model.train()

# Evaluation of the GGNN model
evaluation_metrics = grm_model.testing_log()
print(evaluation_metrics)

# Visualization as DFG (with sample of evaluation data)
multi_instance_log = sampling.sample(data_raw, n=100)
grm_model.visualize_dfg(save_file=False,
                        log=multi_instance_log,
                        file_name="multi")