- 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)
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)
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")