Skip to main content
QUICK REVIEW

[论文解读] Process Mining for Python (PM4Py): Bridging the Gap Between Process- and Data Science

Alessandro Berti, Sebastiaan J. van Zelst|arXiv (Cornell University)|May 15, 2019
Business Process Modeling and Analysis参考文献 12被引用 92
一句话总结

PM4Py 是一个基于 Python 的过程挖掘库,通过与 pandas 和 scikit-learn 等标准数据科学工具的集成,支持算法自定义和大规模实验。它提供可扩展的架构、多种过程挖掘算法以及可视化支持。

ABSTRACT

Process mining, i.e., a sub-field of data science focusing on the analysis of event data generated during the execution of (business) processes, has seen a tremendous change over the past two decades. Starting off in the early 2000's, with limited to no tool support, nowadays, several software tools, i.e., both open-source, e.g., ProM and Apromore, and commercial, e.g., Disco, Celonis, ProcessGold, etc., exist. The commercial process mining tools provide limited support for implementing custom algorithms. Moreover, both commercial and open-source process mining tools are often only accessible through a graphical user interface, which hampers their usage in large-scale experimental settings. Initiatives such as RapidProM provide process mining support in the scientific workflow-based data science suite RapidMiner. However, these offer limited to no support for algorithmic customization. In the light of the aforementioned, in this paper, we present a novel process mining library, i.e. Process Mining for Python (PM4Py) that aims to bridge this gap, providing integration with state-of-the-art data science libraries, e.g., pandas, numpy, scipy and scikit-learn. We provide a global overview of the architecture and functionality of PM4Py, accompanied by some representative examples of its usage.

研究动机与目标

  • 降低现有工具在过程挖掘中算法开发与自定义的门槛。
  • 实现过程挖掘与其他数据科学算法及 Python 生态系统的轻松集成。
  • 促进过程挖掘社区中代码与结果共享的协作生态。
  • 提供全面的文档与严格的测试,确保算法的稳定性与可靠性。

提出的方法

  • 提供模块化架构,严格分离对象、算法和可视化。
  • 使用工厂方法访问算法及变体以实现向后兼容性(如 Alpha Miner 经典版和增强版)。
  • 支持多种事件数据结构(事件日志、事件流、pandas DataFrame)及转换工具。
  • 实现主流过程挖掘技术:过程发现、符合性检查和模型增强,指标包括拟合度和精确度。
  • 通过 GraphViz、NetworkX 和 Pyvis 提供对各种过程表示和社会网络的可视化。
  • 确保与 Python 数据科学库(pandas、numpy、scipy、scikit-learn)集成,并提供详尽的文档。

实验结果

研究问题

  • RQ1如何在一个 Python 库中使过程挖掘算法易于扩展和定制?
  • RQ2PM4Py 能否与现有数据科学生态系统无缝集成,以实现大规模实验?
  • RQ3哪些架构选择能在研究人员之间实现可重复和可共享的过程挖掘实验?
  • RQ4支持哪些过程挖掘技术,以及它们如何访问(例如通过工厂模式)?

主要发现

  • PM4Py 提供模块化架构,清晰分离对象、算法和可视化,便于重用和实验。
  • 工厂方法为算法与变体提供单一入口,便于扩展和向后兼容。
  • PM4Py 支持多种事件数据表示,包括日志、流和 pandas DataFrames,并配有转换工具。
  • 该库包括过程发现(Alpha Miner、Inductive Miner)、符合性检查(基于令牌的回放、对齐)和模型增强功能。
  • 可视化通过 GraphViz、NetworkX 和 Pyvis 提供,帮助解释模型和社交网络。
  • PM4Py 与主要 Python 数据科学库集成,已在教学和研究项目中使用,并通过 GitHub 进行活跃的社区互动。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。