pm4py.algo.evaluation.algorithm 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.algorithm.Parameters(*values)[source]#

Bases: Enum

ACTIVITY_KEY = 'pm4py:param:activity_key'#
PARAM_FITNESS_WEIGHT = 'fitness_weight'#
PARAM_PRECISION_WEIGHT = 'precision_weight'#
PARAM_SIMPLICITY_WEIGHT = 'simplicity_weight'#
PARAM_GENERALIZATION_WEIGHT = 'generalization_weight'#
pm4py.algo.evaluation.algorithm.apply(log: EventLog | DataFrame, net: PetriNet, initial_marking: Marking, final_marking: Marking, parameters: Dict[str | Parameters, Any] | None = None) Dict[str, float][source]#

Calculates all metrics based on token-based replay and returns a unified dictionary

Parameters:
  • log – Log

  • net – Petri net

  • initial_marking – Initial marking

  • final_marking – Final marking

  • parameters – Parameters

Returns:

Dictionary containing fitness, precision, generalization and simplicity; along with the average weight of these metrics

Return type:

dictionary