pm4py.algo.evaluation.precision.variants package#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program 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 Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

Submodules#

pm4py.algo.evaluation.precision.variants.align_etconformance module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program 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 Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.algo.evaluation.precision.variants.align_etconformance.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

ACTIVITY_KEY = 'pm4py:param:activity_key'#
CASE_ID_KEY = 'pm4py:param:case_id_key'#
TOKEN_REPLAY_VARIANT = 'token_replay_variant'#
CLEANING_TOKEN_FLOOD = 'cleaning_token_flood'#
SHOW_PROGRESS_BAR = 'show_progress_bar'#
MULTIPROCESSING = 'multiprocessing'#
CORES = 'cores'#
pm4py.algo.evaluation.precision.variants.align_etconformance.apply(log: EventLog | EventStream | DataFrame, net: PetriNet, marking: Marking, final_marking: Marking, parameters: Dict[str | Parameters, Any] | None = None) float[source]#

Get Align-ET Conformance precision

Parameters#

log

Trace log

net

Petri net

marking

Initial marking

final_marking

Final marking

parameters
Parameters of the algorithm, including:

Parameters.ACTIVITY_KEY -> Activity key

pm4py.algo.evaluation.precision.variants.align_etconformance.transform_markings_from_sync_to_original_net(markings0, net, parameters=None)[source]#

Transform the markings of the sync net (in which alignment stops) into markings of the original net (in order to measure the precision)

Parameters#

markings0

Markings on the sync net (expressed as place name with count)

net

Petri net

parameters

Parameters of the algorithm

Returns#

markings

Markings of the original model (expressed as place with count)

pm4py.algo.evaluation.precision.variants.align_etconformance.align_fake_log_stop_marking(fake_log, net, marking, final_marking, parameters=None)[source]#

Align the ‘fake’ log with all the prefixes in order to get the markings in which the alignment stops

Parameters#

fake_log

Fake log

net

Petri net

marking

Marking

final_marking

Final marking

parameters

Parameters of the algorithm

Returns#

alignment

For each trace in the log, return the marking in which the alignment stops (expressed as place name with count)

pm4py.algo.evaluation.precision.variants.align_etconformance.build_sync_net(trace, petri_net, initial_marking, final_marking, parameters=None)[source]#

Build the sync product net between the Petri net and the trace prefix

Parameters#

trace

Trace prefix

petri_net

Petri net

initial_marking

Initial marking

final_marking

Final marking

parameters

Possible parameters of the algorithm

pm4py.algo.evaluation.precision.variants.etconformance_token module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program 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 Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.algo.evaluation.precision.variants.etconformance_token.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

ACTIVITY_KEY = 'pm4py:param:activity_key'#
CASE_ID_KEY = 'pm4py:param:case_id_key'#
TOKEN_REPLAY_VARIANT = 'token_replay_variant'#
CLEANING_TOKEN_FLOOD = 'cleaning_token_flood'#
SHOW_PROGRESS_BAR = 'show_progress_bar'#
MULTIPROCESSING = 'multiprocessing'#
CORES = 'cores'#
pm4py.algo.evaluation.precision.variants.etconformance_token.apply(log: EventLog, net: PetriNet, marking: Marking, final_marking: Marking, parameters: Dict[str | Parameters, Any] | None = None)[source]#

Get ET Conformance precision

Parameters#

log

Trace log

net

Petri net

marking

Initial marking

final_marking

Final marking

parameters
Parameters of the algorithm, including:

Parameters.ACTIVITY_KEY -> Activity key