pm4py.algo.discovery.heuristics 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

Subpackages#

Submodules#

pm4py.algo.discovery.heuristics.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.discovery.heuristics.algorithm.Variants(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

CLASSIC = <module 'pm4py.algo.discovery.heuristics.variants.classic' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\discovery\\heuristics\\variants\\classic.py'>#
PLUSPLUS = <module 'pm4py.algo.discovery.heuristics.variants.plusplus' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\discovery\\heuristics\\variants\\plusplus.py'>#
pm4py.algo.discovery.heuristics.algorithm.apply(log: EventLog | EventStream | DataFrame, parameters: Dict[Any, Any] | None = None, variant=Variants.CLASSIC) Tuple[PetriNet, Marking, Marking][source]#

Discovers a Petri net using Heuristics Miner

Parameters#

log

Event log

parameters

Possible parameters of the algorithm, including:

  • Parameters.ACTIVITY_KEY

  • Parameters.TIMESTAMP_KEY

  • Parameters.CASE_ID_KEY

  • Parameters.DEPENDENCY_THRESH

  • Parameters.AND_MEASURE_THRESH

  • Parameters.MIN_ACT_COUNT

  • Parameters.MIN_DFG_OCCURRENCES

  • Parameters.DFG_PRE_CLEANING_NOISE_THRESH

  • Parameters.LOOP_LENGTH_TWO_THRESH

variant
Variant of the algorithm:
  • Variants.CLASSIC

  • Variants.PLUSPLUS

Returns#

net

Petri net

im

Initial marking

fm

Final marking

pm4py.algo.discovery.heuristics.algorithm.apply_dfg(dfg: Dict[Tuple[str, str], int], activities=None, activities_occurrences=None, start_activities=None, end_activities=None, parameters=None, variant=Variants.CLASSIC) Tuple[PetriNet, Marking, Marking][source]#

Discovers a Petri net using Heuristics Miner

Parameters#

dfg

Directly-Follows Graph

activities

(If provided) list of activities of the log

activities_occurrences

(If provided) dictionary of activities occurrences

start_activities

(If provided) dictionary of start activities occurrences

end_activities

(If provided) dictionary of end activities occurrences

parameters

Possible parameters of the algorithm, including:

  • Parameters.ACTIVITY_KEY

  • Parameters.TIMESTAMP_KEY

  • Parameters.CASE_ID_KEY

  • Parameters.DEPENDENCY_THRESH

  • Parameters.AND_MEASURE_THRESH

  • Parameters.MIN_ACT_COUNT

  • Parameters.MIN_DFG_OCCURRENCES

  • Parameters.DFG_PRE_CLEANING_NOISE_THRESH

  • Parameters.LOOP_LENGTH_TWO_THRESH

variant
Variant of the algorithm:
  • Variants.CLASSIC

Returns#

net

Petri net

im

Initial marking

fm

Final marking

pm4py.algo.discovery.heuristics.algorithm.apply_heu(log: EventLog | EventStream | DataFrame, parameters: Dict[Any, Any] | None = None, variant=Variants.CLASSIC) HeuristicsNet[source]#

Discovers an Heuristics Net using Heuristics Miner

Parameters#

log

Event log

parameters

Possible parameters of the algorithm, including:

  • Parameters.ACTIVITY_KEY

  • Parameters.TIMESTAMP_KEY

  • Parameters.CASE_ID_KEY

  • Parameters.DEPENDENCY_THRESH

  • Parameters.AND_MEASURE_THRESH

  • Parameters.MIN_ACT_COUNT

  • Parameters.MIN_DFG_OCCURRENCES

  • Parameters.DFG_PRE_CLEANING_NOISE_THRESH

  • Parameters.LOOP_LENGTH_TWO_THRESH

variant
Variant of the algorithm:
  • Variants.CLASSIC

Returns#

net

Petri net

im

Initial marking

fm

Final marking

pm4py.algo.discovery.heuristics.algorithm.apply_heu_dfg(dfg: Dict[Tuple[str, str], int], activities=None, activities_occurrences=None, start_activities=None, end_activities=None, parameters=None, variant=Variants.CLASSIC) HeuristicsNet[source]#

Discovers an Heuristics Net using Heuristics Miner

Parameters#

dfg

Directly-Follows Graph

activities

(If provided) list of activities of the log

activities_occurrences

(If provided) dictionary of activities occurrences

start_activities

(If provided) dictionary of start activities occurrences

end_activities

(If provided) dictionary of end activities occurrences

parameters

Possible parameters of the algorithm, including:

  • Parameters.ACTIVITY_KEY

  • Parameters.TIMESTAMP_KEY

  • Parameters.CASE_ID_KEY

  • Parameters.DEPENDENCY_THRESH

  • Parameters.AND_MEASURE_THRESH

  • Parameters.MIN_ACT_COUNT

  • Parameters.MIN_DFG_OCCURRENCES

  • Parameters.DFG_PRE_CLEANING_NOISE_THRESH

  • Parameters.LOOP_LENGTH_TWO_THRESH

variant
Variant of the algorithm:
  • Variants.CLASSIC

Returns#

net

Petri net

im

Initial marking

fm

Final marking