pm4py.algo.conformance.log_skeleton.variants.classic module#

class pm4py.algo.conformance.log_skeleton.variants.classic.Parameters(*values)[source]#

Bases: Enum

NOISE_THRESHOLD = 'noise_threshold'#
CONSIDERED_CONSTRAINTS = 'considered_constraints'#
DEFAULT_CONSIDERED_CONSTRAINTS = ['equivalence', 'always_after', 'always_before', 'never_together', 'directly_follows', 'activ_freq']#
CASE_ID_KEY = 'pm4py:param:case_id_key'#
ACTIVITY_KEY = 'pm4py:param:activity_key'#
PARAMETER_VARIANT_DELIMITER = 'variant_delimiter'#
class pm4py.algo.conformance.log_skeleton.variants.classic.DiscoveryOutputs(*values)[source]#

Bases: Enum

EQUIVALENCE = 'equivalence'#
ALWAYS_AFTER = 'always_after'#
ALWAYS_BEFORE = 'always_before'#
NEVER_TOGETHER = 'never_together'#
DIRECTLY_FOLLOWS = 'directly_follows'#
ACTIV_FREQ = 'activ_freq'#
class pm4py.algo.conformance.log_skeleton.variants.classic.Outputs(*values)[source]#

Bases: Enum

DEVIATIONS = 'deviations'#
NO_DEV_TOTAL = 'no_dev_total'#
NO_CONSTR_TOTAL = 'no_constr_total'#
DEV_FITNESS = 'dev_fitness'#
IS_FIT = 'is_fit'#
pm4py.algo.conformance.log_skeleton.variants.classic.apply_log(log: EventLog | DataFrame, model: Dict[str, Any], parameters: Dict[str | Parameters, Any] | None = None) List[Set[Any]][source]#

Apply log-skeleton based conformance checking given an event log and a log-skeleton model

Parameters:
  • log – Event log

  • model – Log-skeleton model

  • parameters – Parameters of the algorithm, including: - Parameters.ACTIVITY_KEY - Parameters.CONSIDERED_CONSTRAINTS, among: equivalence, always_after, always_before, never_together, directly_follows, activ_freq

Returns:

Conformance checking results for each trace: - Outputs.IS_FIT => boolean that tells if the trace is perfectly fit according to the model - Outputs.DEV_FITNESS => deviation based fitness (between 0 and 1; the more the trace is near to 1 the more fit is) - Outputs.DEVIATIONS => list of deviations in the model

Return type:

aligned_traces

pm4py.algo.conformance.log_skeleton.variants.classic.apply_trace(trace: Trace, model: Dict[str, Any], parameters: Dict[str | Parameters, Any] | None = None) List[Set[Any]][source]#

Apply log-skeleton based conformance checking given a trace and a log-skeleton model

Parameters:
  • trace – Trace

  • model – Log-skeleton model

  • parameters – Parameters of the algorithm, including: - the activity key (pm4py:param:activity_key) - the list of considered constraints (considered_constraints) among: equivalence, always_after, always_before, never_together, directly_follows, activ_freq

Returns:

Containing: - is_fit => boolean that tells if the trace is perfectly fit according to the model - dev_fitness => deviation based fitness (between 0 and 1; the more the trace is near to 1 the more fit is) - deviations => list of deviations in the model

Return type:

aligned_trace

pm4py.algo.conformance.log_skeleton.variants.classic.apply_actlist(trace, model, parameters=None)[source]#

Apply log-skeleton based conformance checking given the list of activities of a trace and a log-skeleton model

Parameters:
  • trace – List of activities of a trace

  • model – Log-skeleton model

  • parameters – Parameters of the algorithm, including: - the activity key (pm4py:param:activity_key) - the list of considered constraints (considered_constraints) among: equivalence, always_after, always_before, never_together, directly_follows, activ_freq

Returns:

Containing: - is_fit => boolean that tells if the trace is perfectly fit according to the model - dev_fitness => deviation based fitness (between 0 and 1; the more the trace is near to 1 the more fit is) - deviations => list of deviations in the model

Return type:

aligned_trace

pm4py.algo.conformance.log_skeleton.variants.classic.apply_from_variants_list(var_list, model, parameters=None)[source]#

Performs conformance checking using the log skeleton, applying it from a list of variants

Parameters:
  • var_list – List of variants

  • model – Log skeleton model

  • parameters – Parameters

Returns:

Dictionary containing, for each variant, the result of log skeleton checking

Return type:

conformance_dictio

pm4py.algo.conformance.log_skeleton.variants.classic.after_decode(log_skeleton)[source]#

Prepares the log skeleton after decoding

Parameters:

log_skeleton – Log skeleton

Returns:

Log skeleton (with sets instead of lists)

Return type:

log_skeleton

pm4py.algo.conformance.log_skeleton.variants.classic.get_diagnostics_dataframe(log, conf_result, parameters=None)[source]#

Gets the diagnostics dataframe from a log and the results of log skeleton-based conformance checking

Parameters:
  • log – Event log

  • conf_result – Results of conformance checking

Returns:

Diagnostics dataframe

Return type:

diagn_dataframe