pm4py.algo.discovery.heuristics.algorithm module#

class pm4py.algo.discovery.heuristics.algorithm.Variants(*values)[source]#

Bases: Enum

CLASSIC = <module 'pm4py.algo.discovery.heuristics.variants.classic' from '/Users/chris/Desktop/PIS/pm4py2/pm4py/pm4py/algo/discovery/heuristics/variants/classic.py'>#
PLUSPLUS = <module 'pm4py.algo.discovery.heuristics.variants.plusplus' from '/Users/chris/Desktop/PIS/pm4py2/pm4py/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