pm4py.algo.discovery.log_skeleton.variants package#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

Submodules#

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

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

class pm4py.algo.discovery.log_skeleton.variants.classic.Parameters(value)[source]#

Bases: Enum

An enumeration.

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(value)[source]#

Bases: Enum

An enumeration.

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#

rel

List of relations in the log

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#

rel

List of relations in the log

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#

rel

List of relations in the log

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#

rel

List of relations in the log

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#

rel

List of relations in the log

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#

rel

List of relations in the log

pm4py.algo.discovery.log_skeleton.variants.classic.apply(log: Union[EventLog, DataFrame], parameters: Optional[Dict[Union[str, Parameters], Any]] = 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#

model

Log skeleton 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#

model

Log skeleton 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

Log skeleton (with lists instead of sets)