流程挖掘是一种依赖于数据的方法论,用于发现、监控和改进企业内部已经存在的流程。其目标是探索现有业务流程中的低效环节,并解决这些关键问题。遗憾的是,许多企业通常将这一考虑放在次要位置。
流程挖掘提供了一种优雅的解决方案。任何想要探索流程流或监督复杂业务流程的人都会对流程挖掘所带来的改进表示赞赏。通过聚合数据并考虑反馈,这些技术得到了改进。结果是构建了一个更高效的流程,它建立在过去的成功之上。此外,流程挖掘还提供了可视化和其他输出,全面展示了组织流程中的任何瓶颈、低效或差距,并揭示了改进的方向。
长期以来,流程改进方法一直在发展。自那时以来,企业一直在寻找提高质量、降低成本的方法。与过去相比,由于以下原因,流程改进在今天变得更加重要:
流程挖掘可以应用于不同的行业,以下是一些实施流程挖掘的应用领域:
流程挖掘包括两个重要方面:
流程挖掘主要包括:
过程发现通过事件日志识别业务流程,映射和分析组织的现有业务流程,揭示他们不知道的流程步骤,并实现流程偏差。发现技术采用事件日志并产生过程模型,而不使用任何先验信息。
过程发现遵循以下步骤:
一致性检查是一种技术,用于比较过程模型与同一过程的事件日志。目标是检查事件日志是否符合模型,反之亦然。
一致性检查遵循以下步骤:
增强的想法是使用事件日志中记录的实际流程信息来扩展或改进现有的过程模型。这个过程旨在改变或扩展现有模型。
增强遵循以下步骤:
PM4Py是一个支持Python中流程挖掘算法的Python库。它是完全开源的,并且打算用于工业项目。
!pip install pm4py
现在让以CSV格式加载数据,但事件日志推荐的数据格式是XES(可扩展事件流)。
process_csv = pd.read_csv("E:\Process_Mining\sepsis_df.csv", encoding='cp1252')
显示数据:
process_csv.head()
在开发过程模型之前,需要转换特征,以下是转换代码:
parameters = {constants.PARAMETER_CONSTANT_CASEID_KEY:CASEID_GLUE , constants.PARAMETER_CONSTANT_ACTIVITY_KEY:ACTIVITY_KEY }
event_log = log_converter.apply(process_csv, parameters=parameters)
print(event_log)
过程发现在收集和分析系统可用数据后自动创建业务流程表示。过程模型是使用不同的事件/活动生成的。
以下是不同的过程发现算法:
Alpha Miner是第一个弥合事件日志或观察数据与发现过程模型之间差距的算法。Alpha Miner可以构建Petri网形式的过程模型,而不使用额外的知识。
运行Alpha Miner的结果如下:
from pm4py.algo.discovery.alpha import factory as alpha_miner
net, im, fm = alpha_miner.apply(event_log)
from pm4py.visualization.petri_net import visualizer as pn_visualizer
gviz = pn_visualizer.apply(net, im, fm)
pn_visualizer.view(gviz)