pm4py.algo.conformance.declare.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.conformance.declare.variants.classic 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.conformance.declare.variants.classic.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

CASE_ID_KEY = 'pm4py:param:case_id_key'#
ACTIVITY_KEY = 'pm4py:param:activity_key'#
pm4py.algo.conformance.declare.variants.classic.apply_list(projected_log: List[List[str]], model: Dict[str, Dict[Any, Dict[str, int]]], parameters: Dict[Any, Any] | None = None) List[Dict[str, Any]][source]#
pm4py.algo.conformance.declare.variants.classic.apply(log: EventLog | DataFrame, model: Dict[str, Dict[Any, Dict[str, int]]], parameters: Dict[Any, Any] | None = None) List[Dict[str, Any]][source]#

Applies conformance checking against a DECLARE model.

Paper: F. M. Maggi, A. J. Mooij and W. M. P. van der Aalst, “User-guided discovery of declarative process models,” 2011 IEEE Symposium on Computational Intelligence and Data Mining (CIDM), Paris, France, 2011, pp. 192-199, doi: 10.1109/CIDM.2011.5949297.

Parameters#

log

Event log / Pandas dataframe

model

DECLARE model

parameters

Possible parameters of the algorithm, including: - Parameters.ACTIVITY_KEY => the attribute to be used as activity - Parameters.CASE_ID_KEY => the attribute to be used as case identifier

Returns#

lst_conf_res

List containing for every case a dictionary with different keys: - no_constr_total => the total number of constraints of the DECLARE model - deviations => a list of deviations - no_dev_total => the total number of deviations - dev_fitness => the fitness (1 - no_dev_total / no_constr_total) - is_fit => True if the case is perfectly fit

pm4py.algo.conformance.declare.variants.classic.get_diagnostics_dataframe(log, conf_result, parameters=None) DataFrame[source]#

Gets the diagnostics dataframe from a log and the results of DECLARE-based conformance checking

Parameters#

log

Event log

conf_result

Results of conformance checking

Returns#

diagn_dataframe

Diagnostics dataframe