process - 准备用于流程挖掘的 csv 文件

标签 process data-mining mining

希望你一切都好! 我正在遵循使用“PM4PY”进行流程挖掘的教程,但我发现 csv 文件存在困难, 在我的 csv 文件中,我有以下几列:'id'、'status'、'mailID'、'date'...('status' 与包含一些特定选择的 'activity' 相同)

我的 csv 文件包含大量数据。

为了遵循流程挖掘教程,我的专栏中必须有类似“case:concept:name”的内容...但我不知道如何实现

最佳答案

在您的情况下,我假设“id”与正常流程挖掘术语中的案例 ID 相同。同样,“状态”对应于事件 ID,“日期”对应于时间戳。

最好的选择是先读入 pandas 数据帧,然后再输入 PM4Py。

要详细了解如何执行此操作,请参阅下面的示例。由于您没有提及 csv 文件中的所有列,因此我们假设当前您只有 [ 'id', 'status', 'date' ] 作为列列表。以下代码可以适应您拥有的任意数量的列(通过将它们添加到名为 cols 的列表中):

import pandas as pd
from pm4py.objects.conversion.log import converter as log_converter

path = '' # Enter path to the csv file
data = pd.read_csv(path)
cols = ['case:concept:name','concept:name','time:timestamp']
data.columns = cols
data['time:timestamp'] = pd.to_datetime(data['time:timestamp'])
data['concept:name'] = data['concept:name'].astype(str)

log = log_converter.apply(data, variant=log_converter.Variants.TO_EVENT_LOG)

这里我们根据 PM4Py 包的要求更改了列名称及其数据类型。使用 log_converter 函数将此数据帧转换为事件日志。现在您可以对此事件日志对象执行常规流程挖掘任务。例如,如果您希望创建 Directly-Follows Graph从事件日志中,您可以使用以下代码行:

from pm4py.algo.discovery.dfg import algorithm as dfg_algorithm

dfg = dfg_algorithm.apply(log)

关于process - 准备用于流程挖掘的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62732716/

相关文章:

r - 从结构化文本文件中提取信息以在 R 中创建数据框

windows - 有什么方法可以找出和/或限制 Windows 中进程对 GPU 的使用吗?

pattern-matching - 封闭式和开放式顺序模式挖掘算法的区别

python - 如何迭代 pandas 数据框中的每一列和每个单元格

machine-learning - EM 算法的计算复杂度是多少?

php - 虚拟主机不支持 cron 作业。如何远程运行抓取脚本来挖掘数据,然后将其发送到我的主机的 mysql 数据库?

java - 在网络上共享对象(区 block 链)

multithreading - 编译器在多线程程序中使用寄存器

C++通过Windows搜索路径查找可执行文件

c - 如何在 C 中获取 Linux 中进程的 PID