pm4py / pm4py-core

Public repository for the PM4Py (Process Mining for Python) project.
https://pm4py.fit.fraunhofer.de
GNU General Public License v3.0
722 stars 286 forks source link

pm4py.discovery: different functions and variants #402

Closed gertjanssenswillen closed 1 year ago

gertjanssenswillen commented 1 year ago

The functions in pm4py discovery do not allow the specification of a variant. For some, like alpha, there are different functions for the variants in pm4py.discovery. For other, there is not. For example, inductive has multiple variants in pm4py.algo.discovery.inductive, but only one function in pm4py.discovery, and it is not clear which variant it uses.

What is the reasoning behind this? Which variant is chosen? Is it expected that either the pm4py.discovery function, or the pm4py.algo.discovery function will be deprecated in the future, or what is the reasoning behind this distinction? Finally, how does this relates to the dicovery function that are directly callable from pm4py, e.g. pm4py.discovery_petri_net_inductive.

Thanks for clarifying.

fit-alessandro-berti commented 1 year ago

Dear @gertjanssenswillen thanks for the question

A couple of years ago we introduced in pm4py the so-called simplied interface (eg pm4py.discovery or pm4py.conformance) in an attempt to 'pythonize' pm4py. Since we came from ProM, we initially adopted a similar directory structure. While there are many variants and parameters in the main package (pm4py.algo.discovery or pm4py.algo.conformance), we expose only the main variant in the simplied interface (to make life simple to the users).

Both will continue to exist for the foreseeable future, but the documentation will focus more on the methods exposed in the simplified interface

gertjanssenswillen commented 1 year ago

Thanks for clarifying. As you will focus more on the simplified interface in documentation, maybe you can add a bit more details about the specific algorithms, as some users might want to know without searching for it in the source code. Thanks in advance

fit-alessandro-berti commented 1 year ago

You are making a valid point. We will extend the documentation included in the APIs to report the publication, variant that is followed, and possibly reporting more parameters in the methods