pm4py.algo.conformance.log_skeleton.variants package

Submodules

pm4py.algo.conformance.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.conformance.log_skeleton.variants.classic.DiscoveryOutputs(value)[source]

Bases: enum.Enum

An enumeration.

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

Bases: enum.Enum

An enumeration.

DEVIATIONS = 'deviations'
DEV_FITNESS = 'dev_fitness'
IS_FIT = 'is_fit'
NO_CONSTR_TOTAL = 'no_constr_total'
NO_DEV_TOTAL = 'no_dev_total'
class pm4py.algo.conformance.log_skeleton.variants.classic.Parameters(value)[source]

Bases: enum.Enum

An enumeration.

ACTIVITY_KEY = 'pm4py:param:activity_key'
CASE_ID_KEY = 'pm4py:param:case_id_key'
CONSIDERED_CONSTRAINTS = 'considered_constraints'
DEFAULT_CONSIDERED_CONSTRAINTS = ['equivalence', 'always_after', 'always_before', 'never_together', 'directly_follows', 'activ_freq']
NOISE_THRESHOLD = 'noise_threshold'
PARAMETER_VARIANT_DELIMITER = 'variant_delimiter'
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.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.apply_log(log: pm4py.objects.log.obj.EventLog, model: Dict[str, Any], parameters: Optional[Dict[Union[str, pm4py.algo.conformance.log_skeleton.variants.classic.Parameters], Any]] = 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: pm4py.objects.log.obj.Trace, model: Dict[str, Any], parameters: Optional[Dict[Union[str, pm4py.algo.conformance.log_skeleton.variants.classic.Parameters], Any]] = 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.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

Module contents

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/>.