synamine.discover¶
Process discovery algorithms.
discover
¶
High-level discovery API -- delegates to algorithm modules.
discover_dfg
¶
discover_dfg(
log: EventLog, *, noise_threshold: float = 0.0
) -> DirectlyFollowsGraph
Discover a Directly-Follows Graph from an event log.
| PARAMETER | DESCRIPTION |
|---|---|
log
|
The event log to analyze.
TYPE:
|
noise_threshold
|
Edges with frequency below this proportion of the max are removed.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
DirectlyFollowsGraph
|
The discovered DFG with edge frequencies. |
discover_variant_trie
¶
discover_variant_trie(
log: EventLog, *, min_count: int = 1
) -> VariantTrie
Build a variant trie (prefix tree) from an event log.
The trie represents all trace variants as a tree structure where shared prefixes are merged. Designed for dendrogram visualization.
| PARAMETER | DESCRIPTION |
|---|---|
log
|
The event log to analyze.
TYPE:
|
min_count
|
Prune variants with fewer than this many traces.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
VariantTrie
|
The variant prefix tree. |
discover_petri_net
¶
discover_petri_net(
log: EventLog,
*,
algorithm: str = "alpha",
noise_threshold: float = 0.0,
dependency_threshold: float = 0.5,
and_threshold: float = 0.65,
loop_two_threshold: float = 0.5,
) -> PetriNet
Discover a Petri Net from an event log.
| PARAMETER | DESCRIPTION |
|---|---|
log
|
The event log to analyze.
TYPE:
|
algorithm
|
Discovery algorithm to use ("alpha" or "heuristic").
TYPE:
|
noise_threshold
|
Filter infrequent edges (0.0 = keep all).
TYPE:
|
dependency_threshold
|
Heuristic Miner: minimum dependency measure to keep an edge.
TYPE:
|
and_threshold
|
Heuristic Miner: threshold for AND-split/join detection.
TYPE:
|
loop_two_threshold
|
Heuristic Miner: threshold for length-2 loop detection.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
PetriNet
|
|
discover_process_tree
¶
discover_process_tree(
log: EventLog, *, noise_threshold: float = 0.0
) -> ProcessTree
Discover a Process Tree from an event log using the Inductive Miner.
| PARAMETER | DESCRIPTION |
|---|---|
log
|
The event log to analyze.
TYPE:
|
noise_threshold
|
Filter infrequent edges (0.0 = keep all, 0.2 = remove bottom 20%).
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
ProcessTree
|
|
convert_dfg_to_petri_net
¶
convert_dfg_to_petri_net(
dfg: DirectlyFollowsGraph,
) -> PetriNet
Convert a Directly-Follows Graph to a Petri Net.
| PARAMETER | DESCRIPTION |
|---|---|
dfg
|
The DFG to convert.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
PetriNet
|
A Petri Net with one transition per activity. |