To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

Conformance analysis using the command line

A while ago Dirk Fahland published this introductory post https://dirksmetric.wordpress.com/2015/03/11/tutorial-automating-process-mining-with-proms-command-line-interface/ on how to use the command line interface to allow batch processing.

I'm trying to use replay_a_log_on_petri_net_for_conformance_analysis(Petrinet, XLog, TransEvClassMapping, IPNReplayAlgorithm, IPNReplayParameter) for conformance analysis but I've gotten stuck on how to create the three last parameters needed to run the conformance analysis. Any suggestions?

Comments

  • If no one has any suggestions for how to use the CLI for batch processing, is there a way for me to set up some sort of batch processing in the GUI of ProM? For example, to have on log replayed on a set of petri nets?
  • I don't know how, and if, this is possible. You would need to dive into the code I'm afraid if you want to do this...
    Joos Buijs

    Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
    Previously Assistant Professor in Process Mining at Eindhoven University of Technology
  • I assume OPs initial question is no longer relevant given that it's a year old, but for anyone else who stumbles over this:

    I have a similar situation in which I want to batch process a large number of event logs using the inductive miner. By exploring the relevant plugin code, one quickly finds that the parameter object is of the class org.processmining.plugins.InductiveMiner.mining.MiningParametersIM. This class has a default constructor without arguments, so we can create an object like

    org.processmining.plugins.InductiveMiner.mining.MiningParametersIM params = new org.processmining.plugins.InductiveMiner.mining.MiningParametersIM();

    and then set e.g. its noise threshold via

    params.setNoiseThreshold(.55)

    and call the miner itself via

    mine_petri_net_with_inductive_miner_with_parameters(log, params) 

    with some previously loaded log.
    For OP's example, it appears that the, e.g., the IPNReplayParameter is obtained via casting  in the plugin's original coding:

    IPNReplayParameter algParameters = (IPNReplayParameter) resultConfiguration[PNReplayerUI.PARAMETERS];
    It can probably also be instantiated directly one way or another.
    As JBuijs has pointed out, some code digging is definitely necessary here (searching for the relevant class names inside an IDE or through a grep -R "fooclass" usually takes one to the right spot pretty quickly).

    Again, not an attempt at a solution, just want to share what I've found to work. Hope it helps.



  • Dear 'djr',

    Thank you for your comment, much appreciated!

    Another approach (which in hindsight I could have mentioned earlier), is to try RapidProM. This contains the key process mining algorithms as operators, which allow you to use the RapidMiner scientific workflow to load different event logs, apply different algorithms and try different settings.
    See http://rapidprom.org/ for more info.

    Joos Buijs

    Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
    Previously Assistant Professor in Process Mining at Eindhoven University of Technology
Sign In or Register to comment.