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

class pm4py.algo.discovery.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.discovery.log_skeleton.variants.classic.Outputs(*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'#
pm4py.algo.discovery.log_skeleton.variants.classic.equivalence(logs_traces, all_activs, noise_threshold=0)[source]#

Gets the equivalence relations given the traces of the log

Parameters:
  • logs_traces – Traces of the log

  • all_activs – All the activities

  • noise_threshold – Noise threshold

Returns:

List of relations in the log

Return type:

rel

pm4py.algo.discovery.log_skeleton.variants.classic.always_after(logs_traces, all_activs, noise_threshold=0)[source]#

Gets the always-after relations given the traces of the log

Parameters:
  • logs_traces – Traces of the log

  • all_activs – All the activities

  • noise_threshold – Noise threshold

Returns:

List of relations in the log

Return type:

rel

pm4py.algo.discovery.log_skeleton.variants.classic.always_before(logs_traces, all_activs, noise_threshold=0)[source]#

Gets the always-before relations given the traces of the log

Parameters:
  • logs_traces – Traces of the log

  • all_activs – All the activities

  • noise_threshold – Noise threshold

Returns:

List of relations in the log

Return type:

rel

pm4py.algo.discovery.log_skeleton.variants.classic.never_together(logs_traces, all_activs, len_log, noise_threshold=0)[source]#

Gets the never-together relations given the traces of the log

Parameters:
  • logs_traces – Traces of the log

  • all_activs – All the activities

  • len_log – Length of the log

  • noise_threshold – Noise threshold

Returns:

List of relations in the log

Return type:

rel

pm4py.algo.discovery.log_skeleton.variants.classic.directly_follows(logs_traces, all_activs, noise_threshold=0)[source]#

Gets the allowed directly-follows relations given the traces of the log

Parameters:
  • logs_traces – Traces of the log

  • all_activs – All the activities

  • noise_threshold – Noise threshold

Returns:

List of relations in the log

Return type:

rel

pm4py.algo.discovery.log_skeleton.variants.classic.activ_freq(logs_traces, all_activs, len_log, noise_threshold=0)[source]#

Gets the allowed activities frequencies given the traces of the log

Parameters:
  • logs_traces – Traces of the log

  • all_activs – All the activities

  • len_log – Length of the log

  • noise_threshold – Noise threshold

Returns:

List of relations in the log

Return type:

rel

pm4py.algo.discovery.log_skeleton.variants.classic.apply(log: EventLog | DataFrame, parameters: Dict[str | Parameters, Any] | None = None) Dict[str, Any][source]#

Discover a log skeleton from an event log

Parameters:
  • log – Event log

  • parameters

    Parameters of the algorithm, including:
    • the activity key (Parameters.ACTIVITY_KEY)

    • the noise threshold (Parameters.NOISE_THRESHOLD)

Returns:

Log skeleton model

Return type:

model

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

Discovers the log skeleton from the variants list

Parameters:
  • var_list – Variants list

  • parameters – Parameters

Returns:

Log skeleton model

Return type:

model

pm4py.algo.discovery.log_skeleton.variants.classic.prepare_encode(log_skeleton)[source]#

Prepares the log skeleton for encoding

Parameters:

log_skeleton – Log skeleton

Returns:

Log skeleton (with lists instead of sets)

Return type:

log_skeleton